使用 Kafka Ingestion 的 Druid:过滤数据
Druid with Kafka Ingestion: filtering data
是否可以在从 Kafka 摄取到 Druid 期间按维度值过滤数据?
例如考虑维度:version
,它可能具有值:v1
、v2
、v3
我只想加载 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": []
}
是否可以在从 Kafka 摄取到 Druid 期间按维度值过滤数据?
例如考虑维度:version
,它可能具有值:v1
、v2
、v3
我只想加载 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": []
}