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

时间:2024-11-28 20:08:15

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