add aggregations part-1

This commit is contained in:
liujianhuan 2021-01-25 18:28:32 +08:00
parent da4391d309
commit f507f71649
2 changed files with 68 additions and 2 deletions

View File

@ -1,4 +1,70 @@
<!-- toc -->
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-8828078415045620"
data-ad-slot="7586680510"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
## 聚合(Aggregations)
> [!WARNING]
> Apache Druid支持两种查询语言 [Druid SQL](druidsql.md) 和 [原生查询](makeNativeQueries.md)。该文档描述了原生查询中的一种查询方式。 对于Druid SQL中使用的该种类型的信息可以参考 [SQL文档](druidsql.md)。
聚合可以在摄取时作为摄取规范的一部分提供作为在数据进入Apache Druid之前汇总数据的一种方式。聚合也可以在查询时指定为许多查询的一部分。
可用聚合包括:
### Count聚合器
`count`计算了过滤器匹配到行的总数:
```json
{ "type" : "count", "name" : <output_name> }
```
请注意计数聚合器计算Druid的行数这并不总是反映摄取的原始事件数。这是因为Druid可以配置为在摄取时汇总数据。要计算摄取的数据行数请在摄取时包括`count`聚合器,在查询时包括`longSum`聚合器。
### Sum聚合器
**`longSum`**
**`doubleSum`**
**`floatSum`**
### Min/Max聚合器
**`doubleMin`**
**`doubleMax`**
**`floatMin`**
**`floatMax`**
**`longMin`**
**`longMax`**
**`doubleMean`**
### First/Last聚合器
**`doubleFirst`**
**`doubleLast`**
**`floatFirst`**
**`floatLast`**
**`longFirst`**
**`longLast`**
**`stringFirst`**
**`stringLast`**
### ANY聚合器
**`doubleAny`**
**`floatAny`**
**`longAny`**
**`stringAny`**
### JavaScript聚合器
### 近似聚合
#### 唯一计数
#### 直方图与中位数

View File

@ -213,7 +213,7 @@ Druid的原生类型系统允许字符串可能有多个值。这些 [多值维
| 函数 | 描述 |
|-|-|
| `x || y` | 拼接字符串 |
| `x||y` | 拼接字符串 |
| `CONCAT(expr, expr, ...)` | 拼接一系列表达式 |
| `TEXTCAT(expr, expr)` | 两个参数版本的CONCAT |
| `STRING_FORMAT(pattern[, args...])` | 返回以Java的 [方式格式化](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-) 的字符串字符串格式 |
@ -232,7 +232,7 @@ Druid的原生类型系统允许字符串可能有多个值。这些 [多值维
| `RIGHT(expr, [length])` | 从expr返回最右边的长度字符。|
| `LEFT(expr, [length])` | 返回expr中最左边的长度字符。|
| `SUBSTR(expr, index, [length])` | SUBSTRING的同义词 |
| `TRIM([BOTH | LEADING | TRAILING] [ FROM] expr)` | 返回expr, 如果字符在"chars"中,则从"expr"的开头、结尾或两端删除字符。如果未提供"chars",则默认为""(空格)。如果未提供方向参数,则默认为"BOTH"。 |
| `TRIM([BOTH|LEADING|TRAILING][FROM] expr)` | 返回expr, 如果字符在"chars"中,则从"expr"的开头、结尾或两端删除字符。如果未提供"chars",则默认为""(空格)。如果未提供方向参数,则默认为"BOTH"。 |
| `BTRIM(expr[, chars])` | `TRIM(BOTH <chars> FROM <expr>)`的替代格式 |
| `LTRIM(expr[, chars])` | `TRIM(LEADING <chars> FROM <expr>)`的替代格式 |
| `RTRIM(expr[, chars])` | `TRIM(TRAILING <chars> FROM <expr>)`的替代格式 |