TDIGEST 的合并
语法
TDIGEST.MERGE destination-key numkeys source-key [source-key ...] [COMPRESSION compression] [OVERRIDE]
- 可用:
- Redis 堆栈 / Bloom 2.4.0
- 时间复杂度:
- O(N*K),其中 N 是质心数,K 是输入草图数
将多个 t-digest 草图合并为一个草图。
必需参数
destination-key
是将观测值合并到的 T 摘要草图的键名称。
如果destination-key
不存在 - 创建新草图。
如果destination-key
是现有草图,则其值将与源键的值合并。要覆盖目标键内容,请使用OVERRIDE
.
numkeys
要从中合并观测值的草图数(1 个或多个)。source-key
每个都是 T-Digest 草图的键名称,用于合并观测值。可选参数
COMPRESSION compression
是准确性和内存消耗之间的可控权衡。100 是正常使用的常用值。1000 更准确。如果默认情况下未传递任何值,则压缩率将为 100。有关准确率与压缩参数的缩放的更多信息,请参阅 t-digest:分布的有效估计。
什么时候COMPRESSION
未指定:
- 如果
destination-key
不存在,或者如果OVERRIDE
时,压缩将设置为所有源草图中的最大值。 - 如果
destination-key
already exists 和OVERRIDE
未指定,则其压缩率不会更改。
OVERRIDE
指定后,如果 'destination-key' 已存在,则将其覆盖。返回值
成功时 OK,否则出错。
例子
redis> TDIGEST.CREATE s1
OK
redis> TDIGEST.CREATE s2
OK
redis> TDIGEST.ADD s1 10.0 20.0
OK
redis> TDIGEST.ADD s2 30.0 40.0
OK
redis> TDIGEST.MERGE sM 2 s1 s2
OK
redis> TDIGEST.BYRANK sM 0 1 2 3 4
1) "10"
2) "20"
3) "30"
4) "40"
5) "inf"