Clickhouse: получить данные из распределенной таблицы - PullRequest
0 голосов
/ 24 января 2019

Если у меня есть таблица, какая структура была обновлена ​​(т.е. system.query_log после последнего обновления), но каким-то образом распределенное «представление» имеет все еще старую структуру, как я могу запросить данные новых столбцов из этого всего кластера?

Что я имел в виду:

Если вы разделили таблицу, это можно легко сделать:

select count(1) from distributed_query_log where event_date = '2019-01-24'

Но select Settings.names, Settings.values from distributed_query_log where event_date = '2019-01-24' limit 1\G не удастся, потому чтоу него нет тех полей, когда system.query_log имеет:

select Settings.names, Settings.values from system.query_log where event_date = '2019-01-24' limit 1\G

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

В общем случае: после изменения базовой таблицы вам необходимо заново создать (или изменить) распределенную таблицу.

0 голосов
/ 24 января 2019

В версии Clickhouse 1.1.54362 была добавлена ​​функция cluster.

Итак, вы можете сделать это следующим образом:

select Settings.names, Settings.values from cluster('CLUSTER_TITLE', 'system.query_log') where event_date = '2019-01-24' limit 1\G

Где CLUSTER_TITLE -название вашего кластера.

Спасибо: Александр Бочаров

...