Distributed表的查询问题
发布于 6 个月前 作者 pumpkin 738 次浏览 来自 问答

建了一张Distributed表,发现直接查询Distributed表的时候,有时候只查询执行SQL所在服务器的单表,有时候查询的是分布式表。即有时候是单机查询,有时候是分布式查询,没有规律。

建表语句: CREATE TABLE qm.iptv_0 ON CLUSTER test( id String, warrantyno String , product_date Date repairreason Int8 , repairstart String , repairdaydiff Nullable(Int32) , replyApplyTotalAmount Float64 ) Engine = ReplicatedMergeTree(’/clickhouse/tables/{layer}-{shard}/iptv’, ‘{replica}’) PARTITION BY toYYYYMM(product_date) ORDER BY (id,repairreason)
SETTINGS index_granularity=8192;

create table qm.iptv as qm.iptv_0 Engine = Distributed(test,qm,iptv_0);

直接查本地表: SELECT countDistinct(id) AS productnum, formatDateTime(product_date, ‘%Y-%m’) AS product_date1 FROM qm.iptv_0 GROUP BY product_date1

|─productnum─|─product_date1─| | 738 | 2019-03 | |────────────|───────────────|

查分布式表:

SELECT countDistinct(id) AS productnum, formatDateTime(product_date, ‘%Y-%m’) AS product_date1 FROM qm.iptv GROUP BY product_date1

|─productnum─|─product_date1─| | 738 | 2019-03 | |────────────|───────────────|

SELECT countDistinct(id) AS productnum, formatDateTime(product_date, ‘%Y-%m’) AS product_date1 FROM qm.iptv GROUP BY product_date1

|─productnum─|─product_date1─| | 1314 |2019-03 |

这个问题如何解决?

1 回复

问题解决,表没有被**,所以在查询分布式表时,sql发送到副本的服务器查询时,结果一直都是0。

回到顶部