范围过滤(Bound filter)
Bound filter 过滤比较值大小或小于某值,默认按字符串比较,使用数据比较需要设置alphaNumeric 属 性为true;默认 Bound filter为非严格性(类闭区间),如 inputString <= upper && inputSting >= lower
上述表示等价如:21 <= age <= 31
Bound filter 严格性,需要设置lowerStrict or/and upperStrict 属性值为true如下:
等价如:21 < age < 31
Count aggregator
查询返回匹配过滤条件的数据行数,需要注意的是:Druid进行Count查询的数据量并不一定等于数据采 集时导入的数据量,因为Druid在采集数据并导入时已经对数据进行了聚合。
Sum aggregator
longSum aggregator:计算值为有符号位64位整数
doubleSum aggregator:与longSum类似,计算值为64位浮点型
Min / Max aggregators
doubleMin aggregator
doubleMax aggregator
longMin aggregator
longMax aggregator
类似聚合(Approximate Aggregations)
基数聚合(Cardinality aggregator)
计算Druid多种维度基数,Cardinality aggregator使用HyperLogLog评估基数,这种聚合比带有索引的 hyperUnique聚合慢,运行在一个维度列,意味着不能从数据集中删除字符串维度来提高聚合;一般我们 强力推荐使用hyperUnique aggregator而不是Cardinality aggregator,格式如下:
. 维度值聚合-当设置属性byRow为false(默认值)时,通过合并所有给定的维度列来计算值集合。
对于单维度,等价如下:
对于多维度,等价如下:
. 行聚合-当设置属性byRow为true时,根所不同维度的值合并来计算行值,等价如下:
许多不同国家的人出生地或来自哪里,用druid配置如下:
HyperUnique aggregator
已经被“hyperunique”在创建索引时聚合的维度值使用HyperLogLog计算估计,更多资料请参考官网
Arithmetic post-aggregators
算术后聚合应用已提供的函数从左到右获取字段,这些字段可聚合或后聚合;支持, , , , and
算术后聚合可以指定ordering属性,用于聚合结果排序(对topN查询很有用 ):
(1) 如果无ordering属性(或null),使用默认的浮点排序。
(2) numericFirst 首先返回有限值,其次是NaN,最后返回无限值。
算术后聚合语法如下:
Field accessor post-aggregator - fieldName引用aggregator定义的名称
Constant post-aggregator - 返回指定值
上述配置了过滤条件,2个聚合,后聚合器将2个聚合结果进行相除。查询结果如下,查询结果存储在属性result,以键值对方式存储:
数据排序(Numeric TopNMetricSpec) - 最简单的规范指定一个字符串值指示排序TopN结果的度量
metric属性通常配置为Json对象,上述等价于:
topN query 配置示例如下:
查询前Top 5个结果,按count排序:
本文地址:http://nhjcxspj.xhstdz.com/quote/2359.html 物流园资讯网 http://nhjcxspj.xhstdz.com/ , 查看更多