ClickHouse/docs/es/engines/table_engines/special/file.md
2020-04-04 12:15:31 +03:00

3.5 KiB
Raw Blame History

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, pero INSERT 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

Artículo Original