HLL函数
更新时间:2022-09-13
本文档主要介绍 HLL(HyperLogLog) 类型相关的内置函数。
-
标量函数
1.hll_cardinality
2.hll_hash
3.hll_empty -
聚合函数
HLL_CARDINALITY
Description
SQL
1bigint hll_cardinality(hll a)
- 功能:计算单个HLL类型值的基数。
- 返回值:bigint 类型。
Example
SQL
1mysql> select hll_cardinality(v1) from tbl;
2+-----------------------+
3| hll_cardinality(`v1`) |
4+-----------------------+
5| 3 |
6+-----------------------+
Keywords
Plain Text
1hll_cardinality
HLL_HASH
Description
SQL
1hll hll_hash(type a)
- 功能:将一个数值转换为 hll 类型。通常用于导入中,将源数据中的数值映射到 PALO 表中的 HLL 列类型。
- 返回值:hll 类型。
Example
SQL
1mysql> select hll_cardinality(hll_hash("a"));
2+--------------------------------+
3| hll_cardinality(hll_hash('a')) |
4+--------------------------------+
5| 1 |
6+--------------------------------+
因为 HLL 类型为二进制类型,无法在 MySQL 客户端显示。因此这里借助
hll_cardinality
返回 HLL 类型的基数以展示。
Keywords
Plain Text
1hll_hash
HLL_EMPTY
Description
SQL
1hll hll_empty()
- 功能:返回一个空的 HLL 类型值。通常用于导入中,插入一个空 HLL 值。
- 返回值:hll 类型。
Example
SQL
1mysql> select hll_cardinality(hll_empty());
2+------------------------------+
3| hll_cardinality(hll_empty()) |
4+------------------------------+
5| 0 |
6+------------------------------+
Keywords
Plain Text
1hll_empty
HLL_UNION,HLL_RAW_AGG
Description
SQL
1hll hll_union(hll a)
2hll hll_raw_agg(hll a)
- 功能:聚合函数。返回一组 HLL 值的并集。
hll_raw_agg
为hll_union
的别名。 - 返回值:hll 类型。
Example
SQL
1mysql> select k1, hll_cardinality(hll_union(v1)) from tbl group by k1;
2+------+----------------------------------+
3| k1 | hll_cardinality(hll_union(`v1`)) |
4+------+----------------------------------+
5| 2 | 4 |
6| 1 | 3 |
7+------+----------------------------------+
Keywords
Plain Text
1hll_union, hll_raw_agg
HLL_UNION_AGG
Description
SQL
1bigint hll_union_agg(hll a)
- 功能:聚合函数。返回一组 HLL 值的并集后的基数。效果等同于:
hll_cardinality(hll_union(v1))
。推荐直接使用hll_union_agg
,效率更高。 - 返回值:bigint 类型。
Example
SQL
1mysql> select k1, hll_union_agg(v1) from tbl group by k1;
2+------+---------------------+
3| k1 | hll_union_agg(`v1`) |
4+------+---------------------+
5| 2 | 4 |
6| 1 | 3 |
7+------+---------------------+
Keywords
Plain Text
1hll_union_agg