MAPREDUCE服务 MRS-Doris数据模型概述:Aggregate模型

时间:2025-05-28 14:56:31

Aggregate模型

建Aggregate模型表语句示例如下:

CREATE TABLE IF NOT EXISTS example_db.example_tbl
(
`user_id` LARGEINT NOT NULL COMMENT "用户id",
`date` DATE NOT NULL COMMENT "数据灌入日期时间",
`city` VARCHAR(20) COMMENT "用户所在城市",
`age` SMALLINT COMMENT "用户年龄",
`gender` TINYINT COMMENT "用户性别",
`last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
`cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
`max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
`min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `gender`)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
  • 当导入数据时,对于Key列相同的行会聚合成一行,而Value列会按照设置的AggregationType进行聚合。 AggregationType目前有以下四种聚合方式:
    • SUM:求和,多行的Value进行累加。
    • REPLACE:替代,下一批数据中的Value会替换之前导入过的行中的Value。
    • MAX:保留最大值。
    • MIN:保留最小值。
  • 表中的列按照是否设置了AggregationType,分为Key (维度列) 和Value(指标列)。例如,没有设置AggregationType的,如user_id、date、age等称为Key,而设置了AggregationType的称为Value。
support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_249187.html