注意:
- 物化视图建表语句,必须base on本地表,不能base on分布式表。否则没有数据进来。
- 建表语句不能嵌套,即不能
select * from (select * from ...) tmp。这样试的时候报错了。
AggregatingMergeTree引擎示例
-- 建本地视图CREATE MATERIALIZED VIEW coco_db.query_aggregate_table ENGINE = AggregatingMergeTree PARTITION BY dtORDER BY(dt, query) ASselectdt,query,uniqState(e) as imp_countfromdetail_tablewheretype = 'IMP'and position in (1, -1)GROUP BYdt,r_query;-- 建分布式视图CREATE table coco_db.dist_query_aggregate_table as coco_db.query_aggregate_table ENGINE = Distributed(coco_cluster,coco_db,query_aggregate_table,rand());-- 查询selectdt,r_query,uniqMerge(imp_count) as countfromcoco_db.dist_query_aggregate_tablegroup bydt,r_queryorder bycount desclimit10;
