doris rollup具体化视图

113 阅读1分钟

作用

在base表上创建的,进一步对base表的数据进行分析聚合。都是独立存储的。

创建rollup

-- 创建具有视图的表
CREATE TABLE doris_ts.rolup_index_table
(
    event_day DATE,
    siteid INT DEFAULT '10',
    citycode SMALLINT,
    username VARCHAR(32) DEFAULT'',
    pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(event_day, siteid, citycode, username)
DISTRIBUTED BY HASH(siteid) BUCKETS 10
ROLLUP (
    r1(event_day,siteid),
    r2(event_day,citycode),
    r3(event_day)
)
PROPERTIES("replication_num" = "1");

-- 查询
SHOW ALTER TABLE ROLLUP;

-- 在表上添加rollup

alert table XXX add rollup XXX(col1,col2);
--删除
alert table XXX drop rollup XXX;

在查询的时候,会根据查询的字段,优先查询匹配到的rollup,从而极大的减少数量。