您可以使用 group by 查询来执行此操作,因此按 __time 分组为 extraction function 然后将粒度设置为 all 并使用 limitSpec 进行排序/限制这将起作用。现在,如果您想使用时间序列查询,获取最新的 10 则更加棘手。一种方法是将粒度设置为所需的粒度,例如小时,然后从最近的点开始将间隔设置为 10H时间。这听起来说起来容易做起来难。除非您遇到重大的性能问题,否则我将采用第一种方式。
{
"queryType": "groupBy",
"dataSource": "wikiticker",
"granularity": "all",
"dimensions": [
{
"type": "extraction",
"dimension": "__time",
"outputName": "extract_time",
"extractionFn": {
"type": "timeFormat"
}
},
],
"limitSpec": {
"type": "default",
"limit": 10,
"columns": [
{
"dimension": "extract_time",
"direction": "descending"
}
]
},
"aggregations": [
{
"type": "count",
"name": "$f2"
},
{
"type": "longMax",
"name": "$f3",
"fieldName": "added"
}
],
"intervals": [
"1900-01-01T00:00:00.000/3000-01-01T00:00:00.000"
]
}