Saltar al contenido principal
Permite acceder a todos los segmentos (configurados en la sección remote_servers) de un clúster sin crear una tabla Distributed. Solo se consulta una réplica de cada segmento. Función clusterAllReplicas: igual que cluster, pero consulta todas las réplicas. Cada réplica de un clúster se usa como un segmento/conexión independientes.
Todos los clústeres disponibles se enumeran en la tabla system.clusters.

Sintaxis

cluster(['cluster_name', db.table, sharding_key])
cluster(['cluster_name', db, table, sharding_key])
clusterAllReplicas(['cluster_name', db.table, sharding_key])
clusterAllReplicas(['cluster_name', db, table, sharding_key])

Argumentos

ArgumentosTipo
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; se establece default si no se especifica.
db.table or db, tableNombre de una base de datos y una tabla.
sharding_keyUna clave de sharding. Opcional. Debe especificarse si el clúster tiene más de un segmento.

Valor devuelto

El conjunto de datos de los clústeres.

Uso de macros

cluster_name puede contener macros, es decir, sustituciones entre {}. El valor sustituido se toma de la sección macros del archivo de configuración del servidor. Ejemplo:
SELECT * FROM cluster('{cluster}', default.example_table);

Uso y recomendaciones

Usar las funciones de tabla cluster y clusterAllReplicas es menos eficiente que crear una tabla Distributed porque, en este caso, la conexión con el servidor se vuelve a establecer para cada petición. Al procesar una gran cantidad de consultas, cree siempre la tabla Distributed de antemano y no utilice las funciones de tabla cluster y clusterAllReplicas. Las funciones de tabla cluster y clusterAllReplicas pueden ser útiles en los siguientes casos:
  • Acceder a un clúster específico para comparar datos, depurar y realizar pruebas.
  • Consultas a varios clústeres y réplicas de ClickHouse con fines de investigación.
  • Peticiones distribuidas poco frecuentes realizadas manualmente.
La configuración de conexión, como host, port, user, password, compression y secure, se toma de la sección de configuración <remote_servers>. Consulte los detalles en motor Distributed.
Última modificación el 10 de junio de 2026