Flux 入门

导航至

最近,我们举办了一系列六场关于 Flux 的“办公时间”网络研讨会,Flux 是 InfluxData 的新功能数据脚本语言,用于查询、分析和与数据交互。我们的目标是回答任何与 Flux 相关的问题,并收集社区反馈以改进该语言。在这些会议中,InfluxData 的 Flux 工程师 Adam Anthony 展示了产品中的酷炫功能,进行了一些惊人的演示,甚至复制了一个基于 InfluxQL 的用户查询,并重新用 Flux 语言编写。这些会议清楚地展示了该语言的灵活性和使其成为时序数据和更多领域的明显选择的特性。

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

在每次网络研讨会中,我们强调了不同的一组功能。每个会议都被录制下来,以便无法参加的用户可以回放。以下总结了每个会议中涵盖的关键主题。这个总结将帮助您在时间有限的情况下跳到视频中的有趣部分。

第1节(11月15日) - 在本节中,您将看到将复杂查询从InfluxQL切换到Flux语言使用NON_NEGATIVE_DERIVATIVES的示例(快进到17:15)。这是一个很好的示例,可以并排构建Flux查询,解释fromrangewithMeasurementfilter这些Flux的基本结构,以及使用groupmeansortderivativewindow函数。请注意,自本节以来,group函数的使用方式已更改,我们将在后续课程中重点介绍。Adam还展示了运行沙盒(快进到41:40),这是快速上手Flux的最佳方式。

第2节(11月20日) - 我们回顾了上一次网络研讨会中使用的沙盒,并使用沙盒命令从Flux的基本结构开始(快进到8:10),这有助于开始使用Flux - 使用CLI工具编写Flux查询。解释了在Github上的测试脚本以及如何使用它们(快进到14:01),这些脚本位于flux/functions/transformations/testdata文件夹中,提供了显示如何使用派生函数以及预期输出的脚本。解释了表的关键概念(快进到24:40),该概念确定表结构以及数据流是如何存储的。GroupWindow函数被解释(FFWD 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日) - 我们回顾了分组函数语法的重大变化,这次通过演示新语法。Adam解释了新语法的group函数(快进4:05),以及这种新语法首先在nightlies版本中可用,并将很快出现在下一个OSS版本中。Adam还展示了在testingTest中测试代码的新方法(快进15:10),它测试了一个名为simpleMax的函数,并在Flux表中加载输入和输出文件,然后使用assertEquals进行比较。还解释了导入和标准库设计建议(快进21:02),这使得Flux更加有序,并支持包和命名空间。此外,Adam还强调了另一种在httpd和写流中进行跨测量数学运算快进29:20)的方法,使用pivot函数。

第6讲(12月20日) - 这是2018年办公时间系列讲座的最后一讲。Adam介绍了Flux的Github仓库(快进5:52)和位于flux/functions/tests的‘helpers.go’函数,这是一个使用Flux设置测试的绝佳方式。这也是学习其他Flux函数的好方法。还突出介绍了即将推出的Flux功能(快进11:50),包括如何定义和导入包。Adam还编写了另一个查询示例,用于对多个列进行distinct(快进15:05)。还解释了编写辅助函数的概念。

其他Flux资源

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

除了Flux文档和论坛之外,博客文章也将是了解最新动态的好来源。因此,请关注InfluxData的博客页面,并留意有关Flux的相关帖子以了解更多关于Flux的信息。