Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Как экспортировать данные из ClickHouse в файл

Использование предложения INTO OUTFILE

Добавьте предложение INTO OUTFILE к своему запросу.

Например:

SELECT * FROM table INTO OUTFILE 'file'

По умолчанию ClickHouse определяет выходной формат и сжатие по расширению имени файла. Например, все строки из nyc_taxi будут экспортированы в файл nyc_taxi.parquet в формате 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())

Файл хранится в папке data на вашем сервере ClickHouse — а именно по пути /data/default/my_table в файле с именем data.Parquet.

Использование перенаправления в командной строке

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

См. clickhouse-client.

Navigation