数智融合计算服务 DATAARTSFABRIC-聚合函数:hll_add_agg(hll_hashval)

时间:2025-06-17 08:50:21

hll_add_agg(hll_hashval)

描述:把哈希后的数据按照分组放到hll中。

返回值类型:hll

示例:

  1. 准备数据。
    1
    2
    3
    4
    CREATE EXTERNAL TABLE t_id(id int) store AS orc;
    INSERT INTO t_id SELECT generate_series(1,500);
    CREATE EXTERNAL TABLE t_data(a int, c text) store AS orc;
    INSERT INTO t_data SELECT mod(id,2), id FROM t_id;
    
  2. 创建表并指定列为varchar(当前不支持 hll 列,因此需要进行显示转换)。
    1
    CREATE EXTERNAL TABLE t_a_c_hll(a int, c varchar) store AS orc;
    
  3. 根据a列group by对数据分组,把各组数据加到hll中。
    1
    INSERT INTO t_a_c_hll SELECT a, hll_add_agg(hll_hash_text(c)) FROM t_data GROUP BY a;
    
  4. 得到每组数据中hll的Distinct值。
    1
    2
    3
    4
    5
    6
    SELECT a, #c::hll as cardinality FROM t_a_c_hll order by a;
     a |   cardinality    
    ---+------------------
     0 | 250.741759091658
     1 | 250.741759091658
    (2 rows)
    
support.huaweicloud.com/devg-fabric/dataartsfabric_sql_04_0240.html