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.
Sintaxis
cluster(['cluster_name', db.table, sharding_key][, SETTINGS name = value, ...])
cluster(['cluster_name', db, table, sharding_key][, SETTINGS name = value, ...])
clusterAllReplicas(['cluster_name', db.table, sharding_key][, SETTINGS name = value, ...])
clusterAllReplicas(['cluster_name', db, table, sharding_key][, SETTINGS name = value, ...])Argumentos
| Argumentos | Tipo |
|---|---|
cluster_name |
Nombre 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, table |
Nombre de una base de datos y una tabla. |
sharding_key |
Una clave de sharding. Opcional. Debe especificarse si el clúster tiene más de un segmento. |
SETTINGS name = value, ... |
Configuración de la tabla distribuida creada por la función, por ejemplo, skip_unavailable_shards. Opcional. Una configuración especificada en la consulta tiene prioridad sobre ella. |
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.