ddsketch
实现DDSketch数据结构,实现在线的Quantile聚合
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
ddsketch | 1.0.1 | FUNC | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 4650 | ddsketch | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | tdigest count_distinct topn omnisketch datasketches hll quantile lower_quantile weighted_statistics |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.0.1 | 1817161514 | ddsketch | - |
| RPM | PIGSTY | 1.0.1 | 1817161514 | ddsketch_$v | - |
| DEB | PIGSTY | 1.0.1 | 1817161514 | postgresql-$v-ddsketch | - |
构建
您可以使用 pig build 命令构建 ddsketch 扩展的 RPM / DEB 包:
BASH
安装
您可以直接安装 ddsketch 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
创建扩展:
SQL
用法
实现了 DDSketch,一种完全可合并的分位数草图,提供相对误差保证。比 percentile_cont 快得多,并支持并行处理。
SQL
直接聚合函数
| 函数 | 描述 |
|---|---|
ddsketch_percentile(value, alpha, nbuckets, quantile) | 估计单个百分位数 |
ddsketch_percentile(value, alpha, nbuckets, quantiles[]) | 估计多个百分位数 |
ddsketch_percentile_of(value, alpha, nbuckets, value) | 估计某个值的百分位排名 |
ddsketch_percentile_of(value, alpha, nbuckets, values[]) | 估计多个值的百分位排名 |
预聚合函数
| 函数 | 描述 |
|---|---|
ddsketch(value, alpha, nbuckets) | 从值构建 ddsketch |
ddsketch_percentile(sketch, quantile) | 从预构建的草图估计百分位数 |
ddsketch_percentile(sketch, quantiles[]) | 从预构建的草图估计多个百分位数 |
工具函数
| 函数 | 描述 |
|---|---|
ddsketch_count(sketch) | 返回草图中的项目数量 |
ddsketch_sum(sketch, low, high) | 指定值范围内的截断求和 |
ddsketch_avg(sketch, low, high) | 指定值范围内的截断平均值 |
参数
alpha– 控制精度和草图大小(越小越精确,但体积越大)nbuckets– 最大桶数(每个 8 字节)
示例
SQL