تصدير بيانات MySQL إلى Parquet أو CSV أو JSON باستخدام ClickHouse
تتيح أداة clickhouse-local قراءة البيانات من MySQL وإخراجها بسرعة وسهولة إلى العديد من التنسيقات المختلفة، بما في ذلك Parquet وCSV وJSON. سنقوم بما يلي:
- استخدام دالة الجدول
mysqlلقراءة البيانات - استخدام عبارة
INTO OUTFILE _filename_ FORMATوتحديد تنسيق الإخراج المطلوب
تُعد أداة clickhouse-local جزءًا من الملف التنفيذي لـ ClickHouse. نزّلها باستخدام ما يلي:
curl https://clickhouse.com/ | shتصدير MySQL إلى Parquet
تنشئ دالة الجدول mysql جدولًا استنادًا إلى نتائج query مُرسَل إلى مثيل MySQL. على سبيل المثال:
SELECT *
FROM
mysql(
'localhost:3306',
'my_sql_database',
'my_sql_table',
'user',
'password'
);يمكننا توجيه مخرجات هذا query إلى ملف باستخدام INTO OUTFILE. استخدم FORMAT لتحديد تنسيق الملف المراد إنشاؤه. لنأخذ المحتوى الكامل لجدول في MySQL، ثم نرسل محتواه إلى ملف Parquet:
./clickhouse local -q "SELECT * FROM
mysql(
'localhost:3306',
'my_sql_database',
'my_sql_table',
'user',
'password'
)
INTO OUTFILE 'my_output_file.parquet'"تصدير MySQL إلى CSV
الأمر مماثل لما يحدث مع Parquet، إلا أننا هذه المرة نستخدم الامتداد .csv في اسم الملف. سيتعرّف ClickHouse إلى أننا نريد مخرجات مفصولة بفواصل، وهكذا ستُكتب البيانات في الملف:
./clickhouse local -q "SELECT * FROM
mysql(
'localhost:3306',
'my_sql_database',
'my_sql_table',
'user',
'password'
)
INTO OUTFILE 'my_output_file.csv'"تصدير MySQL إلى JSON
للتصدير من MySQL إلى JSON، ما عليك سوى تغيير امتداد اسم الملف إلى jsonl أو ndjson:
./clickhouse local -q "SELECT * FROM
mysql(
'localhost:3306',
'my_sql_database',
'my_sql_table',
'user',
'password'
)
INTO OUTFILE 'my_output_file.ndjson'"من المثير للإعجاب مدى بساطة أداة clickhouse-local وقوتها في آنٍ واحد. يمكنك بسهولة قراءة البيانات من قاعدة بيانات مثل MySQL وتصديرها بأحد تنسيقات الإخراج المختلفة.