文档文档

查找百分位数和分位数

此页面记录了早期版本的 InfluxDB OSS。 InfluxDB OSS v2 是最新的稳定版本。 请参阅等效的 InfluxDB v2 文档: 查找百分位数和分位数

使用 quantile() 函数 返回表示输入数据的 q 分位数或百分位数的值。

百分位数与分位数

百分位数和分位数非常相似,仅在用于计算返回值的数字上有所不同。百分位数使用 0100 之间的数字计算。分位数使用 0.01.0 之间的数字计算。例如,0.5 分位数第 50 个百分位数相同。

选择计算分位数的方法

选择以下方法之一来计算分位数

estimate_tdigest

(默认) 一种聚合方法,它使用 t-digest 数据结构 在大型数据源上计算分位数估计值。输出表由包含计算出的分位数的单行组成。

如果计算 0.5 分位数或第 50 个百分位数

给定以下输入表

_time_value
2020-01-01T00:01:00Z1.0
2020-01-01T00:02:00Z1.0
2020-01-01T00:03:00Z2.0
2020-01-01T00:04:00Z3.0

estimate_tdigest 返回

_value
1.5

exact_mean

一种聚合方法,它取最接近分位数的两个点的平均值。输出表由包含计算出的分位数的单行组成。

如果计算 0.5 分位数或第 50 个百分位数

给定以下输入表

_time_value
2020-01-01T00:01:00Z1.0
2020-01-01T00:02:00Z1.0
2020-01-01T00:03:00Z2.0
2020-01-01T00:04:00Z3.0

exact_mean 返回

_value
1.5

exact_selector

一种选择器方法,它返回数据点,其中至少有 q 个点小于该数据点。输出表由包含计算出的分位数的单行组成。

如果计算 0.5 分位数或第 50 个百分位数

给定以下输入表

_time_value
2020-01-01T00:01:00Z1.0
2020-01-01T00:02:00Z1.0
2020-01-01T00:03:00Z2.0
2020-01-01T00:04:00Z3.0

exact_selector 返回

_time_value
2020-01-01T00:02:00Z1.0

以下示例使用 示例数据变量

查找表示第 99 个百分位数的值

使用默认方法 "estimate_tdigest",返回表中包含表中数据第 99 个百分位数的所有行。

data
  |> quantile(q: 0.99)

查找最接近分位数的平均值

使用 exact_mean 方法返回每个输入表的单行,其中包含最接近表中数据数学分位数的两个值的平均值。例如,要计算 0.99 分位数

data
  |> quantile(q: 0.99, method: "exact_mean")

查找具有分位数值的点

使用 exact_selector 方法返回每个输入表的单行,其中包含小于表中 q * 100% 值的那个值。例如,要计算 0.99 分位数

data
  |> quantile(q: 0.99, method: "exact_selector")

将 quantile() 与 aggregateWindow() 结合使用

aggregateWindow() 将数据分段到时间窗口中,将每个窗口中的数据聚合为单个点,然后删除基于时间的分割。它主要用于下采样数据。

要在 aggregateWindow() 中指定 分位数计算方法,请使用 完整函数语法

data
  |> aggregateWindow(
    every: 5m,
    fn: (tables=<-, column) =>
      tables
        |> quantile(q: 0.99, method: "exact_selector")
  )

此页对您有帮助吗?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源版现已发布公开 Alpha 版本

InfluxDB 3 开源版现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 Alpha 版本的一部分。

InfluxDB 3 Core 是我们的新开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询能力、读取副本、高可用性、可伸缩性和细粒度的安全性。

有关如何开始使用的更多信息,请查看