HLL_COUNT_EXTRACT 関数は、HLL++ データ構造 (スケッチ) からカーディナリティ推定値を計算します。
注意事項
HLL_COUNT_EXTRACT、HLL_COUNT_MERGE、および HLL_COUNT_MERGE_PARTIAL 関数で使用される `BINARY` データは、HLL_COUNT_INIT 関数によって生成される必要があります。他のシステムやメソッドからのデータは使用できません。
構文
BIGINT HLL_COUNT_EXTRACT(BINARY <sketch>)パラメーター
sketch:必須。HLL++ スケッチを表す `BINARY` 値。このスケッチは、HLL_COUNT_INIT 関数によって生成される必要があります。
戻り値
カーディナリティ推定値を `BIGINT` 型で返します。入力パラメーターの sketch が `NULL` の場合、この関数は 0 を返します。
例
各国で少なくとも 1 つの請求書を持つユニーク顧客数をクエリします。
SELECT
country,
HLL_COUNT_EXTRACT(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
);クエリは次の結果を返します:
+---------+--------------------------------------+
| country | distinct_customers_with_open_invoice |
+---------+--------------------------------------+
| BR | 1 |
| CZ | 1 |
| UA | 2 |
+---------+--------------------------------------+関連関数
HLL_COUNT_EXTRACT は、MaxCompute が近似集約のために提供するいくつかの HyperLogLog++ 関数の 1 つです。詳細については、「HyperLogLog++ 関数」をご参照ください。