使用 Kafka Ingestion 的 Druid:过滤数据

Druid with Kafka Ingestion: filtering data

是否可以在从 Kafka 摄取到 Druid 期间按维度值过滤数据?

例如考虑维度:version,它可能具有值:v1v2v3 我只想加载 v2

我知道可以使用 Spark/Flink/Kafka Streams 来完成,但也许有现成的解决方案

从德鲁伊方面不可能,你需要事先过滤数据。

您可以在摄取期间使用 transformSpec 执行此操作。
http://druid.io/docs/latest/ingestion/transform-spec.html

根据文档:

Transform specs allow Druid to filter and transform input data during ingestion.

任何 query filters 都可以应用于此。

使用 NOT 过滤器的示例:

"transformSpec": {
  "filter": {
    "type": "and",
    "fields": [
      {
        "type": "not",
        "field": {
          "type": "selector",
          "dimension": "my_dimension",
          "value": "filter_me"
        }
      },
      {
        "type": "not",
        "field": {
          "type": "selector",
          "dimension": "my_dimension",
          "value": "filter_me_also"
        }
      }
    ]
  },
  "transforms": []
}