时间序列查询Druid中维的返回值

时间:2019-02-25 16:40:52

标签: time-series druid

我有Druid时间序列查询:

{
"queryType": "timeseries",
"dataSource": {
    "type": "union",
    "dataSources": [
        "ds1",
        "ds2"   
    ]
},
"dimensions":["dim1"],
"aggregations": [
    {
        "name": "y1",
        "type": "doubleMax",
        "fieldName": "value1"
    }
],
"granularity": {
    "period": "PT10S",
    "type": "period"
},
"postAggregations": [],
"intervals": "2017-06-09T13:05:46.000Z/2017-06-09T13:06:46.000Z"

}

我也想返回维的值,而不仅仅是返回像这样的聚合:

 {
    "timestamp": "2017-06-09T13:05:40.000Z",
    "result": {
        "y1": 28.724306106567383
    }
},
{
    "timestamp": "2017-06-09T13:05:50.000Z",
    "result": {
        "y1": 28.724306106567383
    }
},

如何更改查询?预先感谢!

2 个答案:

答案 0 :(得分:0)

如果您的要求是在时间序列查询中使用维度列,这意味着您正在使用具有非聚合列的聚合数据,那么此要求将导致使用topNgroupBy查询。

groupBy查询可能是当前支持的功能最强大的德鲁伊之一,但它的性能也很差,相反,您可以根据需要使用topN查询。

topN文档和示例的链接可以在这里找到: http://druid.io/docs/latest/querying/topnquery.html

答案 1 :(得分:0)

Timeseries()查询是否不支持维度?

我在我的项目中尝试过,但是没有用。

这是错误:

TypeError: queryRep.dataSource(...).dimension is not a function
2|DSP-api  |     at dimensionData (/home/ec2-user/reports/dsp_reports/controllers/ReportController.js:228:22)

让我知道是否有人对此有解决方案。 TY。