如果我有一个表,该表的结构已更新(即,最新更新后为system.query_log),但是以某种方式分布的“视图”仍然具有旧的结构,我如何从整个集群中查询新列的数据? >
我的意思是
如果您有分布式表,可以通过以下方式轻松完成:
URL
但是select count(1) from distributed_query_log where event_date = '2019-01-24'
将失败,因为当system.query_log具有以下内容时,它没有这些字段:
select Settings.names, Settings.values from distributed_query_log where event_date = '2019-01-24' limit 1\G
答案 0 :(得分:2)
在Clickhouse版本1.1.54362中添加了功能select Settings.names, Settings.values from system.query_log where event_date = '2019-01-24' limit 1\G
。
因此,您可以通过以下方式实现:
cluster
select Settings.names, Settings.values from cluster('CLUSTER_TITLE', 'system.query_log') where event_date = '2019-01-24' limit 1\G
-集群的标题。
答案 1 :(得分:1)
通常情况下:更改基础表后,您需要重新创建(或更改)分布式表。