Sintaxis
Argumentos
| Argumento | Descripción |
|---|---|
URI | La URI relativa del archivo en HDFS. La ruta del archivo admite los siguientes globs en modo de solo lectura: *, ?, {abc,def} y {N..M}, donde N y M son números, y 'abc' y 'def' son cadenas. |
format | El formato del archivo. |
structure | Estructura de la tabla. Formato: 'column1_name column1_type, column2_name column2_type, ...'. |
Valor devuelto
hdfs://hdfs1:9000/test y selección de sus dos primeras filas:
Globs en la ruta
*— Representa una cantidad arbitraria de caracteres, excepto/, incluida la cadena vacía.**— Representa todos los archivos dentro de una carpeta de forma recursiva.?— Representa un único carácter cualquiera.{some_string,another_string,yet_another_one}— Sustituye cualquiera de las cadenas'some_string', 'another_string', 'yet_another_one'. Las cadenas pueden contener el símbolo/.{N..M}— Representa cualquier número>= Ny<= M.
{} son similares a las funciones de tabla remote y file.
Ejemplo
- Supongamos que tenemos varios archivos con los siguientes URI en HDFS:
- ‘hdfs://hdfs1:9000/some_dir/some_file_1’
- ‘hdfs://hdfs1:9000/some_dir/some_file_2’
- ‘hdfs://hdfs1:9000/some_dir/some_file_3’
- ‘hdfs://hdfs1:9000/another_dir/some_file_1’
- ‘hdfs://hdfs1:9000/another_dir/some_file_2’
- ‘hdfs://hdfs1:9000/another_dir/some_file_3’
- Consulta la cantidad de filas de estos archivos:
- Consulta cuántas filas hay en todos los archivos de estos dos directorios:
Si la lista de archivos contiene rangos numéricos con ceros a la izquierda, use la construcción con llaves para cada dígito por separado o
?.file000, file001, … , file999:
Columnas virtuales
_path— Ruta del archivo. Tipo:LowCardinality(String)._file— Nombre del archivo. Tipo:LowCardinality(String)._size— Tamaño del archivo en bytes. Tipo:Nullable(UInt64). Si se desconoce el tamaño, el valor esNULL._time— Hora de la última modificación del archivo. Tipo:Nullable(DateTime). Si se desconoce la hora, el valor esNULL.
configuración use_hive_partitioning
use_hive_partitioning se establece en 1, ClickHouse detecta el particionado al estilo Hive en la ruta (/name=value/) y permite usar las columnas de partición como columnas virtuales en la consulta. Estas columnas virtuales tendrán los mismos nombres que en la ruta particionada.
Ejemplo
Usar una columna virtual creada con particionado al estilo Hive
Configuración de almacenamiento
- hdfs_truncate_on_insert - permite truncar el archivo antes de insertar datos en él. Deshabilitado de forma predeterminada.
- hdfs_create_new_file_on_insert - permite crear un archivo nuevo en cada inserción si el formato incluye un sufijo. Deshabilitado de forma predeterminada.
- hdfs_skip_empty_files - permite omitir archivos vacíos durante la lectura. Deshabilitado de forma predeterminada.