如何使用 BigQuery 获取平均时间间隔(5 分钟)或记录数

use*_*840 1 sql google-bigquery

我有时间序列数据,一秒粒度。如何使用 BigQuery 按时间间隔(例如:5 分钟或 1 分钟)计算/转换数据平均值?或者按记录数平均 - 平均每 60 条记录 - 1 分钟 300 条记录 - 5 分钟。

  • 行数据 - 每条记录一秒。

在此输入图像描述

  • 我需要将每条记录 1 秒的数据转换为平均 5 分钟的记录数据,例如 _iowait 参数的 5 分钟平均值。我需要对 300 个 _iowait 值求和(300 条记录是 5 分钟),然后除以 300。我确信 BigQuery 有自己的方法。

Mik*_*ant 7

以下是 BigQuery 标准 SQL

#standardSQL
select 
  timestamp_seconds(5 * 60 * DIV(unix_seconds(datetime), 5 * 60)) as datetime,
  avg(_iowait) as _iowait
from `project.dataset.table`
group by datetime
-- order by datetime
Run Code Online (Sandbox Code Playgroud)

以上是每 5 分钟的平均值 - 替换5为您需要的任何数字