Flux 数据脚本语言
本页面记录了 InfluxDB OSS 的早期版本。 InfluxDB OSS v2 是最新的稳定版本。 查看相应的 InfluxDB v2 文档: 开始使用 Flux 和 InfluxDB。
Flux 是一种功能性数据脚本语言,旨在查询、分析和处理时间序列数据。 它将 InfluxQL 的强大功能和 TICKscript 的功能结合成一个统一的语法。
Flux是生产就绪的,并包含在InfluxDB v1.8+中。
Flux设计原则
Flux旨在易于使用、可读、灵活、可组合、可测试、可贡献和可共享。 它的语法主要受到2018年最受欢迎的脚本语言的启发, JavaScript,并采用功能性的方法进行数据探索和处理。
以下示例说明了如何从一个存储桶(类似于 InfluxQL 数据库)中拉取最近五分钟的数据,按照 cpu 测量和 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
启用Flux在您的InfluxDB配置中的说明。
Flux 与 InfluxQL
Flux 是一种替代InfluxQL和其他类似SQL的查询语言,用于查询和分析数据。Flux 使用函数语言模式,使其强大、灵活,能够克服 InfluxQL 的许多限制。本文概述了许多 Flux 可以实现但 InfluxQL 不能实现的任务,并提供有关 Flux 和 InfluxQL 相同性的信息。
Flux 可以实现的功能
连接
InfluxQL 从未支持连接。它可以通过 TICKscript 实现,但即使是 TICKscript 的连接能力也是有限的。Flux 的 join() 函数 允许你从任何桶、任何测量和任何列中连接数据,只要每个数据集都包含要连接的列。这为非常强大和有用的操作打开了大门。
开始使用 Flux
开始使用 Flux,这是 InfluxData 新的功能性数据脚本语言。本分步指南将带您了解基础知识,并帮助您入门。