Clickhouse:删除重复数据



我有一个在clickhouse重复数据的问题。我的情况是,我有记录的部分,然后我必须分组所有这些部分的text_id。零件到达时间可能在不同时间

例如:

id,text_id,total_parts,part_number,text
101,11,3,1,How
102,12,2,2,World
103,12,2,1,Hello
104,11,3,3,you
105,11,3,2,are

,结果应该是这样的:

text_id,text
11, How are you
12, Hello World

创建视图把所有的部分组合起来,它工作得很好。但是当我从这个视图中读取时我想要删除已经读取的行。我试图向表中添加一列,称为flag,然后将该列更新为1,然后将视图更改为读取flag = 0。但我在clickhouse的文档中看到,更新它会降低性能。和我的表十亿记录。

1-如果我不能删除已处理的记录,视图将会很慢。

2-如果没有性能问题,我不想再读取处理过的数据。

任何建议吗?

最接近的结果是文本列数组:

SELECT groupArray(text) as msg
FROM 
(SELECT * ROM merge_rows ORDER BY text_id, part_number) 
GRUP BY text_id
┌─msg─────────────────┐
│ ['Hello','World']   │
│ ['How','are','you'] │
└─────────────────────┘

因为你有十亿集成到物化视图中会非常快。