Documentation

quantile() 函数

quantile() 从每个输入表中返回行,其中的值落在指定的分位数内,或者返回行,其中的值代表指定的分位数。

quantile() 支持包含浮点数值的列。

函数行为

quantile() 根据指定的 method 作为聚合或选择器转换。

  • 聚合:当使用 estimate_tdigestexact_mean 方法时,quantile() 充当聚合转换,并输出落在指定分位数内的非空记录的平均值。
  • 选择器:当使用 exact_selector 方法时,quantile() 充当选择器转换,并输出值代表指定分位数的非空记录。
函数类型签名
(
    <-tables: stream[A],
    q: float,
    ?column: string,
    ?compression: float,
    ?method: string,
) => stream[A] where A: Record

有关更多信息,请参阅 函数类型签名

参数

column

用于计算分位数的列。默认为 _value

q

(必需) 要计算的分位数。必须介于 0.01.0 之间。

method

计算方法。默认为 estimate_tdigest

可用方法:

  • estimate_tdigest:聚合方法,使用 t-digest 数据结构 在大型数据源上计算准确的分位数估计。
  • exact_mean:聚合方法,取最接近分位数价值的两个点的平均值。
  • exact_selector:选择器方法,返回行,其值至少有 q 个点小于该值。

compression

压缩数据集时要使用的质心数。默认为 1000.0

较大的数字会产生更准确的结果,但会增加内存需求。

tables

输入数据。默认为管道转发数据 (<-)。

示例

分位数作为聚合

import "sampledata"

sampledata.float()
    |> quantile(q: 0.99, method: "estimate_tdigest")

查看示例输入和输出

分位数作为选择器

import "sampledata"

sampledata.float()
    |> quantile(q: 0.5, method: "exact_selector")

查看示例输入和输出


此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像目前一样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看