Uso de la cláusula INTO OUTFILE
Añada la cláusula INTO OUTFILE a su consulta.
Por ejemplo:
SELECT * FROM table INTO OUTFILE 'file'
De forma predeterminada, ClickHouse usa la extensión del nombre de archivo para determinar el formato de salida y la compresión. Por ejemplo, todas las filas de nyc_taxi se exportarán a nyc_taxi.parquet en formato Parquet:
SELECT *
FROM nyc_taxi
INTO OUTFILE 'taxi_rides.parquet'
Y el siguiente será un archivo comprimido separado por tabulaciones:
SELECT *
FROM nyc_taxi
INTO OUTFILE 'taxi_rides.tsv.gz'
Si ClickHouse no puede determinar el formato a partir de la extensión del archivo, el formato de salida predeterminado para los datos de salida es TabSeparated. Para especificar el formato de salida, use la cláusula FORMAT.
Por ejemplo:
SELECT *
FROM nyc_taxi
INTO OUTFILE 'taxi_rides.txt'
FORMAT CSV
Uso del motor de tabla File
Otra opción es usar el motor de tabla File, en el que ClickHouse usa el archivo para almacenar los datos. Puede realizar consultas e inserciones directamente sobre el archivo.
Por ejemplo:
CREATE TABLE my_table (
x UInt32,
y String,
z DateTime
)
ENGINE = File(Parquet)
Inserta unas cuantas filas:
INSERT INTO my_table VALUES
(1, 'Hello', now()),
(2, 'World', now()),
(3, 'Goodbye', now())
El archivo se almacena en la carpeta data de tu servidor ClickHouse; concretamente, en /data/default/my_table, en un archivo llamado data.Parquet.
Usar el motor de tabla File es muy práctico para crear y consultar archivos en tu sistema de archivos, pero ten en cuenta que las tablas File no son tablas MergeTree, por lo que no ofrecen todas las ventajas de MergeTree. Usa File por comodidad al exportar datos desde ClickHouse en formatos prácticos.
Uso de la redirección en la línea de comandos
$ clickhouse-client --query "SELECT * from table" --format FormatName > result.txt
Consulte clickhouse-client.