Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ClickHouseからデータをファイルにエクスポートする方法

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 という名前のファイルです。

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

$ clickhouse-client --query "SELECT * from table" --format FormatName > result.txt

clickhouse-client をご覧ください。

Navigation