VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

内置函数

Vastbase G100流计算支持的内置函数除SQL引擎自带聚合函数(sum、avg、count、max、min等)外,还支持流引擎时序流数据处理特有的内置函数。

(1)Bloom Filter函数
Bloom Filter Aggregates中的聚合函数可用于生成Bloom filter数据。

内置函数 说明
BLOOM_ADD(BLOOM,EXPRESSION) 将给定的表达式增加到Bloom Filter上
BLOOM_CARDINALITY(BLOOM) 返回Bloom Filter的基数,即集合中元素去重后的个数,误差非常小
BLOOM_CONTAINS(BLOOM,EXPRESSION) 当Bloom filter可能包含给定的值时,会返回true
BLOOM_INTERSECTION(BLOOM,BLOOM,…) 回给定的多个Bloom filter的交集。
BLOOM_UNION(BLOOM,BLOOM,…) 返回给定的多个Bloom filter的并集。

(2)Top-K函数
Top-K Aggregates可用于聚合并产生topk数据。

内置函数 说明
OPK_INCREMENT(TOPK,EXPRESSION) 增加给定topk中给定表达式的频数,结果返回Top-K
TOPK_INCREMENT(TOPK,EXPRESSION,WEIGHT) 给topk中给定表达式增加指定权重的频数,结果返回Top-K
TOPK(TOPK) 返回给定Top-K及其相关频数的k个元组
OPK_FREQS(TOPK) 返回给定Top-K相关的最大k个频数
TOPK_VALUES(TOPK) 返回给定Top-K相关的最大k个频率项

(4)Frequency函数

内置函数 说明
FREQ_ADD(CMSKETCH,EXPRESSION,WEIGHT) 在给定的Count-Min Sketch上根据指定权重增加表达式的频数
FREQ(CMSKETCH,EXPRESSION) 返回表达式在给定Count-Min Sketch上的频数
FREQ_NORM(CMSKETCH,EXPRESSION) 返回表达式在给定Count-Min Sketch上的归一化频率,存在很小的误差
FREQ_TOTAL(CMSKETCH) 返回给定Count-Min Sketch中的对象总数
(5)HyperLogLog函数
内置函数 说明
HLL_ADD(HYPERLOGLOG,EXPRESSION) 将给定表达的结果添加给HyperLogLog
HLL_CARDINALITY(HYPERLOGLOG) 返会给定HyperLogLog的基数,大约有0.2%的误差
HLL_UNION(HYPERLOGLOG,HYPERLOGLOG,…) 返回多个hyperloglog的并集

(6)Distribution函数

内置函数 说明
DIST_ADD(TDIGEST,EXPRESSION,WEIGHT) 通过给定t-digest中的权重增加给定表达式的频率
DIST_CDF(TDIGEST,EXPRESSION) 给定一个T-Digest,返回其基于表达式评估的分布函数,有很小的误差
DIST_QUANTILE(TDIGEST,FLOAT) 给定一个tdigest,返回float对应的分位数,float区间为[0,1]

(7)Miscellaneous函数

内置函数 说明
BUCKET_CARDINALITY(BUCKET_AGG,BUCKET_ID) 返回bucket_id在bucket_agg中的基数
BUCKET_IDS(BUCKET_AGG) 以数组形式返回包含给定bucket_agg的所有bucketid
BUCKET_CARDINALITIES(BUCKET_AGG) 以数组形式返回给定bucket_agg中的基数
DATE_ROUND(TIMESTAMP,RESOLUTION) 对给定的时间"向下取整"
YEAR(TIMESTAMP) 截取给定时间戳对应的年
MONTH(TIMESTAMP) 截取给定时间戳对应的月
DAY(TIMESTAMP) 截取给定时间戳对应的天
HOUR(TIMESTAMP) 截取给定时间戳对应的小时
MINUTE(TIMESTAMP) 截取给定时间戳对应的分钟
SECOND(TIMESTAMP) 截取给定时间戳对应的秒
SET_CARDINALITY(ARRAY) 返回给定集合数组的基数,集合可用通过set_agg构造