メインコンテンツへスキップ

INTO OUTFILE 句を使う

クエリに INTO OUTFILE 句を追加します。 たとえば:
SELECT * FROM table INTO OUTFILE 'file'
デフォルトでは、ClickHouse はファイル名の拡張子から、出力フォーマットと圧縮方式を判定します。たとえば、nyc_taxi のすべての行は、Parquet フォーマットで nyc_taxi.parquet にエクスポートされます。
SELECT *
FROM nyc_taxi
INTO OUTFILE 'taxi_rides.parquet'
また、次のファイルは圧縮済みのタブ区切りファイルになります。
SELECT *
FROM nyc_taxi
INTO OUTFILE 'taxi_rides.tsv.gz'
ClickHouseがファイル拡張子からフォーマットを判別できない場合、出力データの出力フォーマットは既定でTabSeparatedになります。出力フォーマットを指定するには、FORMAT句を使用します。 たとえば:
SELECT *
FROM nyc_taxi
INTO OUTFILE 'taxi_rides.txt'
FORMAT CSV

Fileテーブルエンジンを使用する

別の方法として、File テーブルエンジンを使用できます。この場合、ClickHouse はファイルにデータを保存します。ファイルに対して直接クエリの実行やデータの挿入を行えます。 たとえば:
CREATE TABLE my_table (
   x UInt32,
   y String,
   z DateTime
)
ENGINE = File(Parquet)
数行を挿入します:
INSERT INTO my_table VALUES
   (1, 'Hello', now()),
   (2, 'World', now()),
   (3, 'Goodbye', now())
このファイルは、ClickHouse server の data フォルダに保存されます。具体的には、/data/default/my_table 配下の data.Parquet という名前のファイルです。
File テーブルエンジンは、ファイルシステム上のファイルを作成してクエリするのに非常に便利ですが、File テーブルは MergeTree テーブルではないため、MergeTree が持つ利点をすべて利用できるわけではない点に注意してください。ClickHouse から使いやすいフォーマットでデータをエクスポートするときは、手軽さを重視して File を使用してください。

コマンドラインでのリダイレクトを使用する

$ clickhouse-client --query "SELECT * from table" --format FormatName > result.txt
clickhouse-client をご覧ください。
最終更新日 2026年6月10日