【发布时间】:2021-01-25 06:10:56
【问题描述】:
我有这个架构的表
event_time DateTime,
field1 String,
field2 String,
field3 String
我想用SummingMergeTree 引擎创建新表(table) 来聚合一些在线查询的数据。为此,我创建了这样的表:
CREATE TABLE aggregated_table(
event_day DateTime,
field1 String,
field2 String,
record_num UInt64,
uniq_field3_state AggregateFunction(uniqExact, String)
)
ENGINE = SummingMergeTree()
ORDER BY (event_day, field1, field2);
之后我将数据插入新表:
INSERT INTO aggregated_table
SELECT
toStartOfDay(event_time) as event_day,
field1,
field2,
count(*) AS request_num,
uniqExactState(field3) As uniq_field3_state
FROM table
GROUP BY event_day, field1, field2;
现在,当我查询以查找 uniqExact 的 uniqExact 时:
select uniqExact(uniq_field3_state) from aggregated_table;
我的答案是:
┌─uniqExact(uniq_field3_state)─┐
│ 356948 │
└──────────────────────────────┘
但是当我查询源表时,我的答案是:
┌─uniqExact(field3)─┐
│ 15548 │
└───────────────────┘
这个工作流程有什么问题吗?
【问题讨论】:
标签: clickhouse