Timeseries queries
以时间序列查询对象,返回一个JSON数组对象
{
"queryType": "timeseries",
"dataSource": "sample_datasource",
"granularity": "day",
"descending": "true",
"filter": {
"type": "and",
"fields": [
{ "type": "selector", "dimension": "sample_dimension1", "value": "sample_value1" },
{ "type": "or",
"fields": [
{ "type": "selector", "dimension": "sample_dimension2", "value": "sample_value2" },
{ "type": "selector", "dimension": "sample_dimension3", "value": "sample_value3" }
]
}
]
},
"aggregations": [
{ "type": "longSum", "name": "sample_name1", "fieldName": "sample_fieldName1" },
{ "type": "doubleSum", "name": "sample_name2", "fieldName": "sample_fieldName2" }
],
"postAggregations": [
{ "type": "arithmetic",
"name": "sample_divide",
"fn": "/",
"fields": [
{ "type": "fieldAccess", "name": "postAgg__sample_name1", "fieldName": "sample_name1" },
{ "type": "fieldAccess", "name": "postAgg__sample_name2", "fieldName": "sample_name2" }
]
}
],
"intervals": [ "2012-01-01T00:00:00.000/2012-01-03T00:00:00.000" ]
}
| property | description | required |
|---|---|---|
| queryType | always be "timeseries";druid首先查看这个字段确定查询方式 | yes |
| dataSource | 查询数据源,类似于关系数据库中的表 | yes |
| descending | 降序排列,默认为false(升序) | no |
| intervals | 查询时间范围, 时间标准ISO-8601 | yes |
| granularity | 查询结果的时间粒度 | yes |
| filter | 筛选条件 | no |
| aggregations | 聚合条件 | no |
| postAggregations | See Post Aggregations | no |
| context | 查询上下文 | no |
查询结果实例
[
{
"timestamp": "2012-01-01T00:00:00.000Z",
"result": { "sample_name1": <some_value>, "sample_name2": <some_value>, "sample_divide": <some_value> }
},
{
"timestamp": "2012-01-02T00:00:00.000Z",
"result": { "sample_name1": <some_value>, "sample_name2": <some_value>, "sample_divide": <some_value> }
}
]
Zero-filling
时间序列的查询通常填补空的内部时间。例如,如果你查询区间“2012-01-01/2012-01-04天“,时间粒度day,2012-01-02数据不存在,您将收到:
[
{
"timestamp": "2012-01-01T00:00:00.000Z",
"result": { "sample_name1": <some_value> }
},
{
"timestamp": "2012-01-02T00:00:00.000Z",
"result": { "sample_name1": 0 }
},
{
"timestamp": "2012-01-03T00:00:00.000Z",
"result": { "sample_name1": <some_value> }
}
]