Clickhouse为什么有时看不到已经创建好的表并且查询结果一直抖动时多时少?

提问者:帅平 问题分类:大数据
Clickhouse为什么有时看不到已经创建好的表并且查询结果一直抖动时多时少?
2 个回答
玖墨
玖墨
可能存在的原因:
ReplicatedMergeTree存储表配置有问题。ReplicatedMergeTree表引擎是对应MergeTree表引擎的主备同步增强版,在单副本实例上限定只能创建MergeTree表引擎,在双副本实例上只能创建ReplicatedMergeTree表引擎。

解决方案:
在双副本实例上建表时,请使用ReplicatedMergeTree(‘/clickhouse/tables/{database}/{table}/{shard}’, ‘{replica}’)或ReplicatedMergeTree()配置ReplicatedMergeTree表引擎。其中,ReplicatedMergeTree(‘/clickhouse/tables/{database}/{table}/{shard}’, ‘{replica}’)为固定配置,无需修改。
发布于:4个月前 (03-19) IP属地:未知
久碍
久碍
可能存在的原因:
建表流程存在问题。ClickHouse的分布式集群搭建并没有原生的分布式DDL语义。如果您在自建ClickHouse集群时使用create table创建表,查询虽然返回了成功,但实际这个表只在当前连接的Server上创建了。下次连接重置换一个Server,您就看不到这个表了。

解决方案:
建表时,请使用create table <table_name> on cluster default语句,on cluster default声明会把这条语句广播给default集群的所有节点进行执行。示例代码如下。Create table test on cluster default (a UInt64) Engine = MergeTree() order by tuple(); 在test表上再创建一个分布式表引擎,建表语句如下。Create table test_dis on cluster default as test Engine = Distributed(default, default, test, cityHash64(a));
发布于:4个月前 (03-19) IP属地:四川省
我来回答