如果我有一个表,哪个结构被更新了(即最近更新后的system.query_log ),但不知何故分布式“视图”仍然具有旧结构,我如何从整个集群中查询新列的数据?
我的意思是:
如果您有分布式表,可以通过以下方式轻松完成:
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将失败,因为它没有这些字段:
select Settings.names, Settings.values from system.query_log where event_date = '2019-01-24' limit 1\G
发布于 2019-01-25 04:12:58
在Clickhouse版本中,添加了cluster函数1.1.54362。
因此,您可以通过以下方式来实现:
select Settings.names, Settings.values from cluster('CLUSTER_TITLE', 'system.query_log') where event_date = '2019-01-24' limit 1\G其中CLUSTER_TITLE -您的集群的标题。
发布于 2019-02-04 18:36:28
一般情况下:在更改底层表之后,您需要重新创建(或更改)分布式表。
https://stackoverflow.com/questions/54354624
复制相似问题