分享

解决Clickhouse数据重复问题

问题描述:
使用MergeTree引擎建表,进行插入数据时,发现数据重复。

20210603180106528.png

原因:
MergeTree的主键(PRIMARY KEY)只是用来生成一级索引(primary.idx)的,并没有唯一性约束这样的语义。

ReplacingMergeTree通过ORDER BY,表示判断唯一约束的条件。当分区合并之时,根据ORDER BY排序后,相邻重复的数据会被排除。

解决:
换用ReplacingMergeTree引擎建表
  1. ReplacingMergeTree建表语法参考:(根据 id + code 分组去重)
  2. create table replace_test(
  3.         id String,
  4.         code String,
  5.         create_time DateTime
  6. )ENGINE = ReplacingMergeTree()
  7. PARTITION BY toYYYYMM(create_time)
  8. ORDER BY (id,code)
  9. PRIMARY key id;
复制代码


————————————————

原文链接:https://blog.csdn.net/u011110301/article/details/117531124

已有(12)人评论

跳转到指定楼层
gogo2000 发表于 2021-10-25 15:37:10
学习,积分145
回复

使用道具 举报

gogo2000 发表于 2021-10-25 15:41:06

学习,积分147
回复

使用道具 举报

gogo2000 发表于 2021-10-25 16:29:07
学习,积分149
回复

使用道具 举报

gogo2000 发表于 2021-10-25 16:36:00

学习,积分151
回复

使用道具 举报

gogo2000 发表于 2021-10-26 08:45:19
学习,积分153
回复

使用道具 举报

gogo2000 发表于 2021-10-26 08:54:02
学习,积分160
回复

使用道具 举报

gogo2000 发表于 2021-10-26 09:09:44
学习,积分162
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条