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