Flux 函数类型和类别
Flux 函数共享一组行为或特征,这些行为或特征定义了函数的工作方式。以下类型和类别列表并非详尽无遗,但涵盖了独特且重要的函数行为。
The icon indicates the function is experimental.
Function types
Inputs
Flux 输入函数从数据源返回数据。以下输入函数可用
- array.from()
- bigtable.from()
- clickhouse.query()
- csv.from()
- from()
- from()
- generate.from()
- http.get() – (deprecated)
- influxdb.select()
- iox.from()
- iox.sql()
- logql.query_range()
- monitor.logs()
- prometheus.scrape()
- query.inBucket()
- requests.do()
- requests.do() – (deprecated)
- requests.get()
- requests.get() – (deprecated)
- requests.post()
- requests.post() – (deprecated)
- socket.from()
- usage.from()
- v1.json()
Outputs
Flux 输出函数产生结果或将数据发送到指定的输出目标。以下输出函数可用
Transformations
Flux 转换将表流作为输入,以某种方式转换数据,并输出表流。转换涵盖了广泛的功能,但以下分类突出了与特定转换功能相关的重要行为。
aggregateWindow 辅助函数
aggregateWindow()
函数按时间窗口或分组数据,并将聚合或选择器函数应用于输入表。所有聚合和选择器函数都与 aggregateWindow()
一起使用。
Aggregates
Flux 聚合函数是 转换 以某种方式聚合来自输入表的值。输出表包含一个包含聚合值的单行。聚合转换为它们接收的每个输入表输出一个表。
来自聚合函数的每个输出表将
- 包含单个记录。
- 与输入表具有相同的 组键。
- 包含聚合列。列标签将与输入表相同。列数据类型取决于特定的聚合操作。如果输入表为空或输入列仅包含
null
值,则列的值将为null
。 - 删除所有列,这些列
- 不在组键中
- 不是聚合列
以下聚合函数可用
- aggregate.rate()
- aggregateWindow()
- count()
- cov()
- covariance()
- experimental.count()
- experimental.histogramQuantile()
- experimental.integral()
- experimental.mean()
- experimental.mode()
- experimental.quantile()
- experimental.skew()
- experimental.spread()
- experimental.stddev()
- experimental.sum()
- geo.ST_LineString()
- geo.totalDistance()
- integral()
- mean()
- median()
- mode()
- pearsonr()
- prometheus.histogramQuantile()
- quantile()
- reduce()
- skew()
- spread()
- stddev()
- sum()
- timeWeightedAvg()
聚合选择器
以下函数既是聚合函数又是选择器。每个函数在执行聚合操作后返回 n
个值。在本文档中,它们被归类为 选择器函数
Selectors
Flux 选择器函数是 转换,每个输入表返回一个或多个记录。
来自选择器函数的每个输出表将
- 包含一个或多个未修改的记录。
- 与输入表具有相同的 组键。
以下选择器函数可用
- aggregateWindow()
- bottom()
- distinct()
- experimental.distinct()
- experimental.first()
- experimental.last()
- experimental.max()
- experimental.min()
- experimental.quantile()
- experimental.unique()
- first()
- highestAverage()
- highestCurrent()
- highestMax()
- last()
- limit()
- lowestAverage()
- lowestCurrent()
- lowestMin()
- max()
- median()
- min()
- quantile()
- sample()
- top()
- unique()
选择器和聚合
以下函数既可以用作选择器,也可以用作聚合函数,但在本文档中,它们被归类为 聚合函数
Dynamic queries
Flux 动态查询函数从表流中提取表,并访问其列和记录。有关推荐用法,请参阅提取标量值。
Function categories
以下类别代表高级函数行为。
Filters
Filter 函数迭代并评估每个输入行,以查看它是否与指定的条件匹配。与指定条件不匹配的行将从输出中删除。以下过滤器函数可用
- filter()
- geo.filterRows()
- geo.gridFilter()
- geo.strictFilter()
- hourSelection()
- query.filterFields()
- query.filterMeasurement()
- query.fromRange()
- range()
Type conversions
Flux 类型转换函数将标量值或列转换为特定的数据类型。以下类型转换函数可用
- array.toBool()
- array.toDuration()
- array.toFloat()
- array.toInt()
- array.toString()
- array.toTime()
- array.toUInt()
- bool()
- bytes()
- duration()
- dynamic.asArray()
- dynamic.dynamic()
- dynamic.jsonEncode()
- dynamic.jsonParse()
- float()
- int()
- iox.sqlInterval()
- json.encode()
- json.parse()
- regexp.compile()
- string()
- time()
- toBool()
- toFloat()
- toInt()
- toString()
- toTime()
- toUInt()
- uint()
Tests
Flux 测试函数测试数据的各个方面。测试返回 true
或 false
、转换后的表流,或者在失败时返回错误。以下测试函数可用
- dynamic.isType()
- testing.assertEmpty
- testing.assertEquals
- testing.assertEqualValues
- testing.assertMatches
- testing.diff
- testing.shouldError
- testing.shouldErrorWithCode
- types.isNumeric
- types.isType
Date/time
Flux 日期/时间函数返回或操作 时间 或 持续时间 值。以下日期/时间函数可用
- boundaries.friday() – (deprecated)
- boundaries.friday()
- boundaries.monday() – (deprecated)
- boundaries.monday()
- boundaries.month() – (deprecated)
- boundaries.month()
- boundaries.saturday() – (deprecated)
- boundaries.saturday()
- boundaries.sunday() – (deprecated)
- boundaries.sunday()
- boundaries.thursday() – (deprecated)
- boundaries.thursday()
- boundaries.tuesday() – (deprecated)
- boundaries.tuesday()
- boundaries.wednesday() – (deprecated)
- boundaries.wednesday()
- boundaries.week() – (已弃用)
- boundaries.week()
- boundaries.yesterday() – (已弃用)
- boundaries.yesterday()
- date.add()
- date.hour()
- date.microsecond()
- date.millisecond()
- date.minute()
- date.month()
- date.monthDay()
- date.nanosecond()
- date.quarter()
- date.scale()
- date.second()
- date.sub()
- date.time()
- date.truncate()
- date.week()
- date.weekDay()
- date.year()
- date.yearDay()
- experimental.addDuration() – (已弃用)
- experimental.alignTime()
- experimental.subDuration() – (已弃用)
- experimental.window()
- hourSelection()
- now()
- system.time()
- timeShift()
- timezone.fixed()
- timezone.location()
- today()
- truncateTimeColumn()
Metadata
Flux 元数据函数返回来自输入流或底层数据源的元数据。以下元数据函数可用
- buckets()
- influxdb.cardinality()
- schema.fieldKeys()
- schema.measurementFieldKeys()
- schema.measurements()
- schema.measurementTagKeys()
- schema.measurementTagValues()
- schema.tagKeys()
- schema.tagValues()
- v1.databases()
- v1.fieldKeys() – (已弃用)
- v1.measurementFieldKeys() – (已弃用)
- v1.measurements() – (已弃用)
- v1.measurementTagKeys() – (已弃用)
- v1.measurementTagValues() – (已弃用)
- v1.tagKeys() – (已弃用)
- v1.tagValues() – (已弃用)
Notification endpoints
Flux 通知端点函数将通知发送到外部端点或服务。以下通知端点函数可用
- alerta.endpoint()
- bigpanda.endpoint()
- discord.endpoint()
- http.endpoint()
- opsgenie.endpoint()
- pagerduty.endpoint()
- pushbullet.endpoint()
- sensu.endpoint()
- servicenow.endpoint()
- slack.endpoint()
- teams.endpoint()
- telegram.endpoint()
- victorops.endpoint()
- webexteams.endpoint()
- zenoss.endpoint()
Geotemporal
Flux 地理时空函数旨在处理地理时空数据(随时间变化的地理位置)。以下地理时空函数可用
- geo.asTracks()
- geo.filterRows()
- geo.getGrid()
- geo.getLevel()
- geo.gridFilter()
- geo.groupByArea()
- geo.s2CellIDToken()
- geo.s2CellLatLon()
- geo.shapeData()
- geo.ST_Contains()
- geo.ST_Distance()
- geo.ST_DWithin()
- geo.ST_Intersects()
- geo.ST_Length()
- geo.ST_LineString()
- geo.stContains()
- geo.stDistance()
- geo.stLength()
- geo.strictFilter()
- geo.toRows()
- geo.totalDistance()
此页面是否对您有帮助?
感谢您的反馈!