HLL_COUNT_MERGE_PARTIAL函数用于接收一个或多个HLL++数据结构(sketch)输入,将存储类型相同的HLL++ sketch合并为一个新的sketch。
注意事项
HLL_COUNT_EXTRACT/HLL_COUNT_MERGE/HLL_COUNT_MERGE_PARTIAL函数使用的BINARY数据需要来源于HLL_COUNT_INIT函数, 不能来源于其他系统或者其他方式。
命令格式
BINARY HLL_COUNT_MERGE_PARTIAL(BINARY <sketch>)参数说明
sketch:必填,BINARY类型。HLL++ sketch,由HLL_COUNT_INIT函数生成。
返回值说明
返回BINARY类型的新sketch。若输入为NULL,则返回NULL。
使用示例
以下查询返回一个 HLL++ sketch,用于统计所有国家中至少拥有一张发票的不同用户的数量。
SELECT HLL_COUNT_MERGE_PARTIAL(HLL_sketch) AS distinct_customers_with_open_invoice
FROM
(
SELECT
country,
HLL_COUNT_INIT(customer_id) AS hll_sketch
FROM values
('UA', 'customer_id_1', 'invoice_id_11'),
('BR', 'customer_id_3', 'invoice_id_31'),
('CZ', 'customer_id_2', 'invoice_id_22'),
('CZ', 'customer_id_2', 'invoice_id_23'),
('BR', 'customer_id_3', 'invoice_id_31'),
('UA', 'customer_id_2', 'invoice_id_24')
t(country, customer_id, invoice_id)
GROUP BY country
);返回结果:
+--------------------------------------+
| distinct_customers_with_open_invoice |
+--------------------------------------+
| =02=01=0F=00=03=00=00=00=20s=8E=00=F0=8B=DD=00=98_$=03 |
+--------------------------------------+相关函数
HLL_COUNT_MERGE_PARTIAL函数属于HyperLogLog++函数,MaxCompute支持一系列近似聚合的HyperLogLog++函数,更多相关函数请参见HyperLogLog++函数。
该文章对您有帮助吗?