Flux 入门

导航至

最近,我们结束了关于 Flux 的六次“办公时间”网络研讨会系列,Flux 是 InfluxData 新的功能数据脚本语言,专为查询、分析和与数据交互而设计。目标是回答任何与 Flux 相关的问题,并获得社区反馈以改进该语言。在这些会议中,InfluxData 的 Flux 工程师 Adam Anthony 展示了产品中的炫酷功能,进行了一些精彩的演示,甚至复制了用户的基于 InfluxQL 的查询,并用 Flux 语言重写了它。这些会议清楚地展示了该语言的多功能性和功能,使其成为时间序列数据及其他领域的显而易见的选择。

“Flux - 办公时间”录音和会议概述

在每次网络研讨会中,我们都重点介绍了一组不同的功能。每次会议都进行了录制,以便无法参加的用户可以重播。我们在下面的摘要中重点介绍了每次会议涵盖的关键主题。如果您没有时间观看所有视频,摘要将帮助您跳转到视频中感兴趣的部分。

第 1 次会议(11 月 15 日) - 在本次会议中,您将看到一个使用 NON_NEGATIVE_DERIVATIVES 将复杂查询从 InfluxQL 切换到 Flux 语言的示例(快进到 17:15)。这是一个很好的示例,可以并排构建 Flux 查询,其中解释了 fromrangewithMeasurementfilter ,它们是 Flux 的基本构造,用于 groupmeansortderivative window 函数。请注意,自本次会议以来, group 函数的用法已更改,我们将在稍后的会议中重点介绍这一点。Adam 还展示了运行沙箱 (快进 41:40),这是开始使用 Flux 的最快方法。

第 2 次会议(11 月 20 日) - 我们回顾了上次网络研讨会中使用的沙箱,并使用沙箱命令从 Flux 的基本构造开始 (快进 8:10),这有助于开始使用 Flux - 使用 CLI 工具编写 Flux 查询。解释了 Github 上的测试脚本以及如何使用它们 (快进 14:01),这些脚本位于 flux/functions/transformations/testdata 文件夹中,并提供了显示如何使用例如 derivative 函数和预期输出的脚本。解释了表:关键概念 (快进 24:40),它确定表结构以及数据流的存储方式。解释了 GroupWindow 函数(快进 29:50)以及添加 _start_stop 时间如何将数据放入单独的组中。解释了 Pivot 函数 (快进 40:45),它收集垂直(按列)存储在表中的值,并将它们水平(按行)对齐到逻辑集中。

第 3 次会议(11 月 27 日) - 除了回答有关 Flux 的几个问题外,我们的常驻专家 Adam 还解释了一个名为 aggregateWindow (快进 22:44) 的全新函数,该函数使用户能够在固定的时间窗口内聚合数据。除了解释该函数外,Adam 还解释了如何在 Flux 查询中使用此函数。百分位数函数 estimate_tdigestexact_meanexact_selector 已解释 (快进 32:30) 并提供了一个示例,包括输入和输出数据。此外,解释了 Pivot 函数的使用,以显示 (快进 38:07) 存储在不同表中的“下载”和“安装”数据的连接。解释了 map 函数的使用 (快进 48:53) 以计算“下载”与“安装”度量的比率。

第 4 次会议(12 月 6 日) - 本次会议解释了新的 group 函数。请注意,早期的会议显示了 group 函数的旧实现。随着 Flux 语言的发展,函数的实现也可能发生变化。Adam 讨论了 group 函数的新实现 (快进 20:25) 并解释了更改的原因。这是该语言中最重要的函数之一,因为它允许开发人员重塑数据以及如何分组、重新分组和取消分组数据以实现所需的结果。

第 5 次会议(12 月 13 日) - 我们回顾了 group 函数语法中的重大更改,这次演示了新语法。Adam 解释了 group 函数的新语法 (快进 4:05) 以及此新语法如何首先在 nightly 版本中提供,并将很快在下一个 OSS 版本中出现。Adam 还展示了在 testingTest 中测试代码的新方法 (快进 15:10),该方法测试名为 simpleMax 的函数,并在 Flux 表中加载输入和输出文件,并使用 assertEquals 对它们进行比较。解释了导入和标准库设计提案 (快进 21:02),这使 Flux 更有条理并支持包和命名空间。此外,Adam 重点介绍了另一种跨 httpd 和使用 pivot 函数的写入流执行 跨度量数学运算 (快进 29:20) 的方法。

第 6 次会议(12 月 20 日) - 这是 2018 年办公时间系列中的最后一次网络研讨会。Adam 浏览了 Flux 的 Github 存储库 (快进 5:52) 和 flux/functions/tests 中的“helpers.go”函数,这是使用 Flux 设置测试的好方法。这也是学习其他 Flux 函数的好方法。重点介绍了即将推出的 Flux 功能 (快进 11:50),包括如何定义和导入包。Adam 还编写了另一个查询示例,用于对多个列执行 distinct 操作 (快进 15:05)。还解释了编写辅助函数的概念。

其他 Flux 资源

如果您无法参加办公时间网络研讨会系列,我们鼓励您观看上面链接的录音,并开始使用 沙箱 编写 Flux 查询,这是开始使用 Flux 的最快方法。提醒一下,Flux 仍在开发中,我们建议目前不要将 Flux 用于生产用途。

除了 Flux 文档和论坛外,博客文章也将是快速入门的好来源。因此,请密切关注 InfluxData 的博客页面,并留意与 Flux 相关的帖子,以了解有关 Flux 的更多信息。