首页 > 解决方案 > Clickhouse:选择时拆分输出

问题描述

在通过物化视图从 KafkaEngine 表加载的 MergeTree 表上的 Clickhouse 上执行选择,一个简单的选择显示输出在以下组中拆分clickhouse-client

:) select * from customersVisitors;
SELECT * FROM customersVisitors 

┌────────day─┬─────────createdAt───┬──────────────────_id─┬───────────mSId─┬───────xId──┬─yId─┐
│ 2018-08-17 │ 2018-08-17 11:42:04 │  8761310857292948227 │ DV-1811114459  │ 846817     │ 0   │
│ 2018-08-17 │ 2018-08-17 11:42:04 │ 11444873433837702032 │ DV-2164132903  │ 780066     │ 0   │
└────────────┴─────────────────────┴──────────────────────┴────────────────┴────────────┴─────┘
┌────────day─┬─────────createdAt───┬──────────────────_id─┬───────────────────mSId──┬────────xId─┬─yId─┐
│ 2018-08-17 │ 2018-08-17 10:25:11 │ 14403835623731794748 │ DV-07680633204819271839 │ 307597     │ 0   │
└────────────┴─────────────────────┴──────────────────────┴─────────────────────────┴────────────┴─────┘

3 rows in set. Elapsed: 0.013 sec. 

引擎是ENGINE = MergeTree(day, (mSId, xId, day), 8192)

为什么输出显示为分成两组?

标签: apache-kafkaclickhouse

解决方案


如果我没记错的话,当数据来自不同的块时,输出会被拆分,通常也会导致在不同的线程中处理。如果您想摆脱它,请将您的查询包装在外部选择中

select * from (...)

推荐阅读