位图函数概述
位图函数是 seekdb 系统中提供的一组专门用于处理高效压缩位图数据的函数。这些函数允许用户在数据库层面执行复杂的位图查询和分析,使得用户行为分析、用户画像、人群圈选的相关应用能够高效地存储、查询和操作位图数据。
以下是一些 seekdb 的位图函数类型及其用途的概述:
位图函数类型
| 位图函数类型 | 描述 |
|---|---|
| 位图构造函数 | 用于构建新的位图数据类型的函数。 |
| 位图基数计算函数 | 用于位图数据基数的计算。 |
| 位图运算函数 | 提供位图数据间基本运算的函数,如交集、并集、异或、与非等。 |
| 位图判断函数 | 对输入的位图数据进行一些判断,并返回布尔值的函数。 |
| 位图输出函数 | 用于选择位图数据输出形式的函数,如以字符串的形式依次输出位图数据的每一个元素,并以逗号隔开。 |
| 位图聚合函数 | 提供将数值类型聚合为位图类型,即位图数据间的聚合运算的函数。 |
位图函数全览
seekdb 当前支持的所有位图函数如下所示:
| 函数类型 | 函数名称 | 描述 |
|---|---|---|
| 位图构造函数 | rb_build_empty | 用于构建一个空的位图数据。 |
| 位图构造函数 | rb_build_empty | 用于构建一个空的位图数据。 |
| 位图构造函数 | rb_build_varbinary | 通过 varbinary 来构建位图数据。 |
| 位图构造函数 | rb_from_string | 通过特定格式的字符串来构建位图数据。 |
| 位图构造函数 | rb_select | 根据指定条件,从位图数据值选取局部范围,保存为新的位图数据并返回其值。 |
| 位图基数计算函数 | rb_cardinality | 用于位图数据基数的计算。 |
| 位图基数计算函数 | rb_and_cardinality 和 rb_and_null2empty_cardinality | 返回两个位图数据做与计算后,得到的新位图数据的基数。 |
| 位图基数计算函数 | rb_or_cardinality 和 rb_or_null2empty_cardinality | 返回两个位图数据做或计算后,得到的新位图数据的基数。 |
| 位图基数计算函数 | rb_xor_cardinality | 返回两个位图数据做异或计算后,得到的新位图数据的基数。 |
| 位图基数计算函数 | rb_andnot_cardinality 和 rb_andnot_null2empty_cardinality | 返回两个位图数据做与非计算后,得到的新位图数据的基数。 |
| 位图基数计算函数 | rb_or_cardinality_agg | 计算位图列的并集基数。 |
| 位图基数计算函数 | rb_and_cardinality_agg | 计算位图列的交集基数。 |
| 位图运算函数 | rb_and 和 rb_and_null2empty | 计算两个位图数据的交集。 |
| 位图运算函数 | rb_or 和 rb_or_null2empty | 计算两个位图数据的并集。 |
| 位图运算函数 | rb_xor | 提供了两个位图数据的异或运算。 |
| 位图运算函数 | rb_andnot 和 rb_andnot_null2empty | 提供了两个位图数据的与非运算。 |
| 位图判断函数 | rb_is_empty | 判断输入的位图数据是否为空。 |
| 位图判断函数 | rb_contains | 两种用法:
|
| 位图输出函数 | rb_to_varbinary | 用于以 varbinary 的形式输出位图数据。 |
| 位图输出函数 | rb_to_string | 以字符串的形式依次输出位图数据的每一个元素,并以逗号隔开。 |
| 位图输出函数 | rb_to_array | 以数组的形式输出位图数据。 |
| 位图聚合函数 | rb_build_agg | 将数值列聚合为位图数据。 |
| 位图聚合函数 | rb_or_agg | 将位图列的多行数据进行或运算,并聚合为位图数据。 |
| 位图聚合函数 | rb_and_agg | 将位图列的多行数据进行与运算,并聚合为位图数据。 |