跳到主要内容
跳到主要内容

quantileDD

计算样本分布的近似分位数,并提供相对误差保证。其工作原理是构建一个 DD

语法

quantileDD(relative_accuracy, [level])(expr)

参数

参数说明

  • relative_accuracy — 分位数的相对精度。取值范围为 0 到 1。Float。sketch 的大小取决于数据范围和相对精度。范围越大且相对精度越小,sketch 越大。sketch 的大致内存占用为 log(max_value/min_value)/relative_accuracy。推荐值为 0.001 或更高。

  • level — 分位数的级别。可选。取值范围为 0 到 1。默认值:0.5。Float

返回值

  • 指定级别的近似分位数值。

类型:Float64

示例

输入表包含一个整数列和一个浮点列:

┌─a─┬─────b─┐
│ 1 │ 1.001 │
│ 2 │ 1.002 │
│ 3 │ 1.003 │
│ 4 │ 1.004 │
└───┴───────┘

用于计算 0.75 分位数(第三四分位数)的查询语句:

SELECT quantileDD(0.01, 0.75)(a), quantileDD(0.01, 0.75)(b) FROM example_table;

结果:

┌─quantileDD(0.01, 0.75)(a)─┬─quantileDD(0.01, 0.75)(b)─┐
│               2.974233423476717 │                            1.01 │
└─────────────────────────────────┴─────────────────────────────────┘

另请参阅