【问题标题】:How to get data from distributed table如何从分布式表中获取数据
【发布时间】:2019-06-18 15:49:50
【问题描述】:

如果我有一个表,更新了哪个结构(即最近更新后的 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

【问题讨论】:

    标签: distributed clickhouse


    【解决方案1】:

    一般情况下:更改基础表后,您需要重新创建(或更改)分布式表。

    【讨论】:

    • 确实如此,但如果您的所有 SRE 都忙,cluster 函数已准备好提供帮助:)
    【解决方案2】:

    在 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 - 您的集群的标题。

    谢谢:Alexander Bocharov

    【讨论】:

      猜你喜欢
      • 2019-07-17
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 2020-04-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      相关资源
      最近更新 更多