Skip to main content

تحويل الملفات من Parquet إلى CSV أو JSON

يمكنك استخدام clickhouse-local لتحويل الملفات بين أي من تنسيقات الإدخال والإخراج التي يدعمها ClickHouse (وهي أكثر من 70 تنسيقًا مختلفًا!). في هذه المقالة، سنحوّل ملف Parquet في S3 إلى ملفي CSV وJSON. لنبدأ من البداية. يوفّر ClickHouse مجموعة من دوال الجداول التي تقرأ من الملفات وقواعد البيانات والموارد الأخرى، ثم تحوّل البيانات إلى جدول. للتوضيح، لنفترض أن لدينا ملف Parquet في S3. سنستخدم دالة الجدول s3 لقراءته (ويعرف ClickHouse أنه ملف Parquet استنادًا إلى اسم الملف). لكن أولًا، لننزّل الملف التنفيذي clickhouse:

الوصول إلى البيانات باستخدام دالة الجدول

لنتحقق من إمكانية قراءة الملف باستخدام DESCRIBE على الجدول الناتج الذي تُنشئه دالة الجدول s3:
يحتوي هذا الملف تحديدًا على أسعار المنازل للعقارات التي بيعت في المملكة المتحدة. تبدو الاستجابة كما يلي:
يمكنك تنفيذ أي استعلام تريده على البيانات. على سبيل المثال، لنرَ أيُّ البلدات لديها أعلى متوسط لأسعار المنازل:
تكون الاستجابة كما يلي:

حوِّل ملف Parquet إلى ملف CSV

يمكنك إرسال نتيجة أي استعلام SQL إلى ملف. لنأخذ جميع الأعمدة من ملف Parquet الموجود لدينا في S3 ونرسل الناتج إلى ملف CSV جديد. وبما أن ملف الإخراج ينتهي بـ .csv، فإن ClickHouse يعرف أنه يجب استخدام صيغة الإخراج CSV:
لنتحقق من نجاح ذلك:

حوّل ملف Parquet إلى تنسيق JSON

لتحويل ملف Parquet إلى JSON، ما عليك سوى تغيير امتداد ملف الإخراج:
لنتأكد من نجاح العملية:

تحويل CSV إلى Parquet

يعمل هذا في كلا الاتجاهين - إذ يمكننا بسهولة قراءة ملف CSV الجديد وإخراجه كملف Parquet. ويمكن لـ ClickHouse قراءة الملف المحلي house_prices.csv باستخدام دالة الجدول file، كما يُخرج ClickHouse الملف بتنسيق Parquet استنادًا إلى امتداد اسم الملف .parquet (أو كان بإمكاننا إضافة بند FORMAT Parquet):
كما ذكرنا أعلاه، يمكنك استخدام أيٍّ من تنسيقات الإدخال والإخراج في ClickHouse مع clickhouse local لتحويل الملفات بسهولة إلى صيغ مختلفة.
آخر تعديل في ٣ يوليو ٢٠٢٦