Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ClickHouse を使って MySQL データを Parquet、CSV、または JSON にエクスポートする方法

ClickHouse を使用して MySQL のデータを Parquet、CSV、または JSON にエクスポートする

clickhouse-local ツールを使うと、MySQL からすばやく簡単にデータを読み取り、Parquet、CSV、JSON など、さまざまなフォーマットで出力できます。ここでは、次のことを行います。

  • mysql テーブル関数 を使ってデータを読み取る
  • INTO OUTFILE _filename_ FORMAT 句を使用し、必要な出力フォーマットを指定する

clickhouse-local ツールは ClickHouse バイナリの一部です。次の手順でダウンロードしてください。

curl https://clickhouse.com/ | sh

MySQL を Parquet にエクスポート

mysql テーブル関数は、MySQL インスタンスに送信したクエリの結果に基づくテーブルを作成します。たとえば、次のようになります。

SELECT *
FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
);

このクエリの出力は、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 のようなデータベースから簡単にデータを読み込み、さまざまな出力フォーマットで出力できます。

Navigation