Flux 数据脚本语言
此页面记录了早期版本的 InfluxDB OSS。InfluxDB OSS v2 是最新的稳定版本。请参阅等效的 InfluxDB v2 文档: Flux 和 InfluxDB 入门。
Flux 是一种函数式数据脚本语言,旨在查询、分析和处理时间序列数据。它融合了 InfluxQL 的强大功能和 TICKscript 的功能,并将它们组合成一个统一的语法。
Flux 已准备好用于生产环境,并包含在 InfluxDB v1.8+ 中。
Flux 设计原则
Flux 旨在可用、可读、灵活、可组合、可测试、可贡献和可共享。它的语法在很大程度上受到 2018 年最流行的脚本语言 JavaScript 的启发,并采用函数式方法进行数据探索和处理。
以下示例说明了从 bucket(类似于 InfluxQL 数据库)中提取过去五分钟的数据,按 cpu
measurement 和 cpu=cpu-total
标签过滤该数据,以 1 分钟的间隔对数据进行窗口化,并计算每个窗口的平均值
from(bucket:"telegraf/autogen")
|> range(start:-1h)
|> filter(fn:(r) =>
r._measurement == "cpu" and
r.cpu == "cpu-total"
)
|> aggregateWindow(every: 1m, fn: mean)
使用 Flux 查询数据
指导您完成 Flux 的常见和复杂查询以及用例的指南。
启用 Flux
在 InfluxDB 配置中启用 Flux 的说明。
Flux 与 InfluxQL
Flux 是 InfluxQL 和其他类似 SQL 的查询语言的替代方案,用于查询和分析数据。Flux 使用函数式语言模式,使其功能强大、灵活,并且能够克服 InfluxQL 的许多限制。本文概述了 Flux 可以实现但 InfluxQL 无法实现的许多任务,并提供了有关 Flux 和 InfluxQL 对等性的信息。
Flux 可以实现
连接
InfluxQL 从未支持连接。它们可以使用 TICKscript 完成,但即使是 TICKscript 的连接功能也有限。Flux 的 join()
函数 允许您从任何 bucket、任何 measurement 以及任何列连接数据,只要每个数据集都包含要连接的列。这为真正强大且有用的操作打开了大门。
Flux 入门
开始使用 Flux,InfluxData 的新函数式数据脚本语言。本分步指南将引导您完成基础知识,并帮助您入门。
此页面是否对您有帮助?
感谢您的反馈!