Saltar al contenido principal
Permite procesar archivos de HDFS en paralelo desde varios nodos de un clúster especificado. En el iniciador, crea una conexión con todos los nodos del clúster, expande los asteriscos en la ruta de archivo de HDFS y asigna dinámicamente cada archivo. En el nodo worker, consulta al iniciador cuál es la siguiente tarea que debe procesar y la procesa. Esto se repite hasta que todas las tareas hayan finalizado.

Sintaxis

hdfsCluster(cluster_name, URI, format, structure)

Argumentos

ArgumentoDescripción
cluster_nameNombre de un clúster que se utiliza para construir un conjunto de direcciones y parámetros de conexión para servidores remotos y locales.
URIURI de un archivo o de un conjunto de archivos. Admite los siguientes comodines en modo de solo lectura: *, **, ?, {'abc','def'} y {N..M}, donde N y M son números, y abc y def son cadenas. Para obtener más información, consulte Comodines en la ruta.
formatEl formato del archivo.
structureEstructura de la tabla. Formato: 'column1_name column1_type, column2_name column2_type, ...'.

Valor devuelto

Una tabla con la estructura especificada para leer datos del archivo especificado.

Ejemplos

  1. Supongamos que tenemos un clúster de ClickHouse llamado cluster_simple y 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’
  1. Consulta cuántas filas hay en estos archivos:
SELECT count(*)
FROM hdfsCluster('cluster_simple', 'hdfs://hdfs1:9000/{some,another}_dir/some_file_{1..3}', 'TSV', 'name String, value UInt32')
  1. Consulta el número de filas de todos los archivos de estos dos directorios:
SELECT count(*)
FROM hdfsCluster('cluster_simple', 'hdfs://hdfs1:9000/{some,another}_dir/*', 'TSV', 'name String, value UInt32')
Si tu lista de archivos contiene intervalos numéricos con ceros a la izquierda, usa la sintaxis con llaves para cada dígito por separado o ?.
Última modificación el 10 de junio de 2026