文档化文档

窗口() 函数

window() 使用常规时间间隔对记录进行分组。

该函数计算时间窗口并将窗口边界存储在 _start_stop 列中。_start_stop 值根据行的 _time 值分配给行。

单个输入行可以根据传递给 window() 的参数放入零个或多个输出表中。

timeColumn (默认为 _time)不在分组键中时,应使用此函数。如果 timeColumn 在分组键中,则结果输出可能令人困惑且通常无益。

按日历月份和年份窗口

everyperiodoffset 参数支持所有有效的时间单位,包括日历月份(1mo)和年份(1y)。

按周窗口

当按周(1w)窗口时,使用 Unix 纪元(1970-01-01T00:00:00Z UTC)确定周。Unix 纪元在星期四,因此所有计算的周都从星期四开始。

函数类型签名
(
    <-tables: stream[A],
    ?createEmpty: bool,
    ?every: duration,
    ?location: {zone: string, offset: duration},
    ?offset: duration,
    ?period: duration,
    ?startColumn: string,
    ?stopColumn: string,
    ?timeColumn: string,
) => stream[B] where A: Record, B: Record

有关更多信息,请参阅 函数类型签名

参数

every

窗口之间时间的持续时间。

period

窗口的持续时间。默认值为 every 值。

period 可以是负数,表示起始和结束边界相反。

offset

移动窗口边界的持续时间。默认值为 0s

offset 可以是负数,表示偏移量在时间上向后移动。

位置

用于确定时区的位置。默认值为 location 选项。

timeColumn

包含时间值的列。默认为 _time

startColumn

用于存储窗口开始时间的列。默认为 _start

stopColumn

用于存储窗口结束时间的列。默认为 _stop

createEmpty

为空窗口创建空表。默认为 false

tables

输入数据。默认为管道转发数据(<-)。

示例

将数据窗口到 30 秒间隔

data
    |> window(every: 30s)

查看示例输入和输出

每 20 秒覆盖 40 秒周期的窗口

data
    |> window(every: 20s, period: 40s)

查看示例输入和输出

按日历月份窗口

data
    |> window(every: 1mo)

查看示例输入和输出


这个页面有帮助吗?

感谢您的反馈!


Flux的未来

Flux将进入维护模式。您可以继续按当前方式使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB v3增强功能和InfluxDB Clustered现已全面上市

新功能,包括更快的查询性能和管理工具,推动了InfluxDB v3产品线的进步。InfluxDB Clustered现已全面上市。

InfluxDB v3性能和功能

InfluxDB v3产品线在查询性能方面取得了重大提升,并提供了新的管理工具。这些增强功能包括用于监控InfluxDB集群健康状况的操作仪表板、InfluxDB Cloud Dedicated中的单一登录(SSO)支持以及用于令牌和数据库的新管理API。

了解新的v3增强功能


InfluxDB Clustered全面上市

InfluxDB Clustered现已全面上市,并为您提供在自管理堆栈中使用InfluxDB v3的能力。

与我们讨论InfluxDB Clustered