Parquet から CSV または JSON へのファイル変換
clickhouse-local を使うと、ClickHouse がサポートする任意の 入出力フォーマット 間でファイルを変換できます (サポートされているフォーマットは 70 種類以上あります) 。この記事では、S3 上の Parquet ファイルを CSV ファイルと JSON ファイルに変換します。
では、最初から見ていきましょう。ClickHouse には、ファイル、データベース、その他のリソースからデータを読み込み、それをテーブルとして扱えるようにする テーブル関数 が用意されています。例として、S3 に Parquet ファイルがあるとします。これを読み込むには s3 テーブル関数を使います (ClickHouse はファイル名に基づいて、それが Parquet ファイルであることを認識します) 。
その前に、clickhouse バイナリをダウンロードしましょう:
テーブル関数を使用してデータにアクセスする
s3 テーブル関数が作成する結果のテーブルに対して DESCRIBE を実行し、ファイルを読み取れることを確認しましょう。
ParquetファイルをCSVに変換する
.csvで終わっているため、ClickHouseはCSV出力フォーマットを使用します:
ParquetファイルをJSONに変換する
CSVをParquetに変換
house_prices.csvは、fileテーブル関数を使ってClickHouseで読み込めます。また、ClickHouseはファイル名の末尾が.parquetであれば、それに基づいてParquetフォーマットでファイルを出力します (または、FORMAT Parquet句を追加することもできます) 。
clickhouse local と組み合わせて ClickHouse の任意の 入出力フォーマット を使えば、ファイルを別のフォーマットに簡単に変換できます。