Функция табличного мира clusterAllReplicas
Позволяет получать доступ ко всем шардом (настроенным в разделе remote_servers
) кластера без создания таблицы Distributed. Запрашивается только одна реплика каждого шара.
Функция clusterAllReplicas
аналогична cluster
, но запрашивает все реплики. Каждая реплика в кластере используется как отдельный шард/соединение.
Все доступные кластеры перечислены в таблице system.clusters.
Синтаксис
Аргументы
Аргументы | Тип |
---|---|
cluster_name | Имя кластера, которое используется для формирования набора адресов и параметров соединения с удаленными и локальными серверами, установите default , если не указано. |
db.table или db , table | Имя базы данных и таблицы. |
sharding_key | Ключ шардирования. Необязательный. Должен быть указан, если у кластера более одного шара. |
Возвращаемое значение
Набор данных из кластеров.
Использование макросов
cluster_name
может содержать макросы — замены в фигурных скобках. Заменяемое значение берется из секции macros файла конфигурации сервера.
Пример:
Использование и рекомендации
Использование функций табличного мира cluster
и clusterAllReplicas
менее эффективно, чем создание таблицы Distributed
, потому что в этом случае соединение с сервером восстанавливается для каждого запроса. При обработке большого количества запросов всегда создавайте таблицу Distributed
заранее и не используйте функции табличного мира cluster
и clusterAllReplicas
.
Функции табличного мира cluster
и clusterAllReplicas
могут быть полезны в следующих случаях:
- Доступ к конкретному кластеру для сравнения данных, отладки и тестирования.
- Запросы к различным кластерам и репликам ClickHouse в исследовательских целях.
- Редкие распределенные запросы, которые выполняются вручную.
Настройки соединения, такие как host
, port
, user
, password
, compression
, secure
, берутся из конфигурационного раздела <remote_servers>
. См. детали в Distributed engine.