1、創建聚合表
CREATE TABLE IF NOT EXISTS site_access_log (
`access_date` DATE NOT NULL COMMENT "訪問日期",
`ip` VARCHAR(200) COMMENT "ip",
`cnt` BIGINT SUM DEFAULT "0" COMMENT "訪問數"
)
AGGREGATE KEY(access_date, ip)
PARTITION BY RANGE(`access_date`) ( )
DISTRIBUTED BY HASH(`access_date`)
PROPERTIES (
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.start" = "-180",
"dynamic_partition.end" = "3",
"dynamic_partition.prefix" = "sal",
"dynamic_partition.buckets" = "10"
);
如果要初始化之前的數據,需要執行以下腳本
ALTER TABLE site_access_log SET("dynamic_partition.enable"="false");
ALTER TABLE site_access_log ADD PARTITIONS START ("2023-11-17") END ("2023-11-30") EVERY (INTERVAL 1 DAY);
ALTER TABLE site_access_log SET("dynamic_partition.enable"="true");
2、直接執行insert語句
INSERT INTO site_access_log VALUES('2023-11-18','1.1.1.1',1);
這樣就能自動統計數量