跳到主要内容

位图函数概述

位图函数是 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将位图列的多行数据进行与运算,并聚合为位图数据。