3.5 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 3e185d24c9 |
37 | File |
File
El motor de tabla de archivos mantiene los datos en un archivo en uno de los file formato (TabSeparated, Native, etc.).
Ejemplos de uso:
- Exportación de datos de ClickHouse a archivo.
- Convertir datos de un formato a otro.
- Actualización de datos en ClickHouse mediante la edición de un archivo en un disco.
Uso en el servidor de Clickhouse
File(Format)
El Format
parámetro especifica uno de los formatos de archivo disponibles. Realizar
SELECT
consultas, el formato debe ser compatible para la entrada, y para realizar
INSERT
queries – for output. The available formats are listed in the
Formato apartado.
ClickHouse no permite especificar la ruta del sistema de archivos paraFile
. Utilizará la carpeta definida por camino configuración en la configuración del servidor.
Al crear una tabla usando File(Format)
crea un subdirectorio vacío en esa carpeta. Cuando los datos se escriben en esa tabla, se colocan en data.Format
en ese subdirectorio.
Puede crear manualmente esta subcarpeta y archivo en el sistema de archivos del servidor y luego ATTACH para mostrar información con el nombre coincidente, para que pueda consultar datos desde ese archivo.
!!! warning "Advertencia" Tenga cuidado con esta funcionalidad, ya que ClickHouse no realiza un seguimiento de los cambios externos en dichos archivos. El resultado de las escrituras simultáneas a través de ClickHouse y fuera de ClickHouse no está definido.
Ejemplo:
1. Configurar el file_engine_table
tabla:
CREATE TABLE file_engine_table (name String, value UInt32) ENGINE=File(TabSeparated)
Por defecto, ClickHouse creará una carpeta /var/lib/clickhouse/data/default/file_engine_table
.
2. Crear manualmente /var/lib/clickhouse/data/default/file_engine_table/data.TabSeparated
contener:
$ cat data.TabSeparated
one 1
two 2
3. Consultar los datos:
SELECT * FROM file_engine_table
┌─name─┬─value─┐
│ one │ 1 │
│ two │ 2 │
└──────┴───────┘
Uso en Clickhouse-local
En Sistema abierto. El motor de archivos acepta la ruta del archivo además de Format
. Los flujos de entrada / salida predeterminados se pueden especificar utilizando nombres numéricos o legibles por humanos como 0
o stdin
, 1
o stdout
.
Ejemplo:
$ echo -e "1,2\n3,4" | clickhouse-local -q "CREATE TABLE table (a Int64, b Int64) ENGINE = File(CSV, stdin); SELECT a, b FROM table; DROP TABLE table"
Detalles de la implementación
- Multiple
SELECT
las consultas se pueden realizar simultáneamente, peroINSERT
las consultas se esperarán entre sí. - Apoyado la creación de nuevos archivos por
INSERT
consulta. - Si el archivo existe,
INSERT
añadiría nuevos valores en él. - No soportado:
ALTER
SELECT ... SAMPLE
- Indice
- Replicación