offset - TimeScaleDB 连续聚合刷新策略结束偏移未按预期工作
问题描述
我是 TimeScaleDB 的新手,我创建了一个连续的聚合视图
CREATE MATERIALIZED VIEW minute_data
WITH (timescaledb.continuous)
AS
SELECT
time_bucket('1 min', time_stamp) as bucket,
thing_key,
avg(pulse_l) as avg_pulse_l,
avg(pulse_h) as avg_pulse_h,
max(pulse_l) as max_pulse_l,
max(pulse_h) as max_pulse_h,
min(pulse_l) as min_pulse_l,
min(pulse_h) as min_pulse_h,
count(thing_key) as counts,
sum(pulse_l) as sum_pulse_l,
sum(pulse_h) as sum_pulse_h
FROM
water_meter
GROUP BY thing_key, bucket
WITH NO DATA;
我为此视图创建了刷新策略:
SELECT add_continuous_aggregate_policy('minute_data',
start_offset => INTERVAL '1 day',
end_offset => INTERVAL '1 hour',
schedule_interval => INTERVAL '1 minute');
即使将结束偏移量设置为 1 小时后,我也会获得最新添加的数据。
刷新日志:
2021-07-14 08:09:39.597 UTC [1268] LOG: refreshing continuous aggregate "minute_data" in window [ 2021-07-13 08:10:00+00, 2021-07-14 07:09:00+00 ]
但是物化视图包含结束偏移之外的数据,虽然开始偏移设置工作正常
以下是物化视图中的数据: 物化视图
编辑:此外,我什至在政策刷新之前就获得了最新数据。
解决方案
上述策略将每分钟运行一次 (schedule_interval)。当它运行时,它将根据定义连续聚合的查询,具体化执行时间的 1 天 (start_offset) 到 1 小时 (end_offset) 之间的数据。
即使将结束偏移量设置为 1 小时后,我也会获得最新添加的数据。
每分钟刷新一次信息将使视图中的最新信息每分钟可用一次。我看到日志时间是08:09:39
,您的最新数据来自08:08:00
. 有什么不一致的地方?
你介意在这里分享更多关于你的期望的细节吗?
推荐阅读
- excel-formula - 如何在 Tableau 中计算 NETWORKDAYS
- swift - 如何使用 GRDB 设置内部联接
- pandas - Pandas GroupBy aggregation does not preserve dtypes
- python - 在 pygame 中,我如何创建一个数据结构来跟踪调整事件的大小和对象的坐标?
- postgresql - Postgres 不要求输入密码,即使我在创建用户时需要密码
- php - 努力显示子分类
- twitter - Twitter 开发者 API 访问多个帐户
- python-3.x - 用python逐行读取文本文件
- javascript - 获取单击按钮反应钩子上的按钮值
- arrays - 如何遍历 React 中的字典以分别获取值并使用 html 显示?