答案 0 :(得分:1)
在物化视图上有一个post。您可以使用它来创建按小时批量处理的数据副本。然后在加载时使用平均聚合函数。我认为CASSANDRA-11871是你所期待的,它在group by
中的所有依赖性最近已经完成,但还没有完成。
有点只是猜测你的架构但是(免责声明没有真正测试过):
CREATE TABLE load (
ref_equip text,
ptd_assoc text,
date timestamp,
date_hour bigint,
load float,
PRIMARY KEY ((ref_equip, ptd_assoc), date)
);
CREATE MATERIALIZED VIEW load_by_hour AS
SELECT * FROM load
WHERE ref_equip IS NOT NULL AND ptd_assoc IS NOT NULL
PRIMARY KEY ((ref_equip, ptd_assoc), date_hour, date);
其中date_hour只是小时分辨率的时间戳,意味着在插入时除以1000 * 60 * 60(epoc为ms)。然后可以选择平均值
SELECT avg(load) FROM load_by_hour WHERE ref_equip='blarg' AND ptd_assoc='blargy' AND date_hour = 410632;
或者更开始的事情是存储数据,按小时划分:
CREATE TABLE load (
ref_equip text,
ptd_assoc text,
date timestamp,
date_hour bigint,
load float,
PRIMARY KEY ((ref_equip, ptd_assoc, date_hour), date)
);