Time series Druid-按时间戳列排序的数据

Time series Druid-按时间戳列排序的数据,time-series,apache-kafka,druid,Time Series,Apache Kafka,Druid,我已经建立了一个Druid集群,从Kafka获取实时数据 问题 Druid是否支持获取按时间戳排序的数据?例如,假设我需要从数据源X检索最新的10个条目。我可以使用包含时间戳字段的LimitSpec(在Query JSON中)来实现这一点吗?或者有没有其他更好的选项支持Druid 提前感谢。您可以使用group by查询来完成此操作,因此,请将group by uu time设置为all粒度,并使用limitSpec对其进行排序/限制。现在,如果您想使用timeseries查询,则获取最新的10

我已经建立了一个
Druid
集群,从
Kafka
获取实时数据

问题

  • Druid
    是否支持获取按时间戳排序的数据?例如,假设我需要从数据源X检索最新的10个条目。我可以使用包含时间戳字段的
    LimitSpec
    (在
    Query JSON
    中)来实现这一点吗?或者有没有其他更好的选项支持
    Druid

  • 提前感谢。

    您可以使用group by查询来完成此操作,因此,请将group by uu time设置为all粒度,并使用limitSpec对其进行排序/限制。现在,如果您想使用timeseries查询,则获取最新的10个更为棘手。一种方法是将粒度设置为所需的一个小时,然后从最近的时间点开始将间隔设置为10小时。这听起来说起来容易做起来难。我会走第一条路,除非你有重大的性能问题

        {
      "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"
      ]
    }
    

    获取未聚合的行

    要获取未聚合的行,可以使用
    查询类型:“选择”

    当需要分页时,Select查询也很有用——它们允许您设置页面大小,并自动返回分页标识符,以便在将来的查询中使用

    在本例中,如果我们只需要前10行,我们可以传入
    “pagingSpec”:{“pageIdentifiers”:{},“threshold”:10}

    按时间戳排序

    要按“时间戳”对这些行进行排序,可以传入
    “降序”:“true”
    。 看起来大多数Druid查询类型都支持降序属性

    查询示例:

    {
      "queryType": "select",
      "dataSource": "my_data_source",
      "granularity": "all",
      "intervals": [ "2017-01-01T00:00:00.000Z/2017-12-30T00:00:00.000Z" ],
      "descending": "true",
      "pagingSpec": { "pageIdentifiers": {}, "threshold": 10 }
    }
    

    Slim您能写一个示例查询吗?