Apache kafka 使用apachedrill查询kafka

Apache kafka 使用apachedrill查询kafka,apache-kafka,apache-drill,Apache Kafka,Apache Drill,我一直在试图找到一种使用ApacheDrill使用SQL查询Kafka主题的方法。有没有人能给我一个起点,让我如何把drill和kafka联系起来。任何帮助都将不胜感激。在演练1.12中添加了对查询卡夫卡的支持。我自己没有使用过它,但我将提供所需的一般配置的快速概述。如果您遇到更多问题,请通过Drill的邮件列表与我们联系。我们可以帮助您调试问题,然后将结果发布到此处 您需要做的一般概述如下: 在Drill的web ui中创建存储插件。命名插件kafka { "bootstrap.serve

我一直在试图找到一种使用ApacheDrill使用SQL查询Kafka主题的方法。有没有人能给我一个起点,让我如何把drill和kafka联系起来。任何帮助都将不胜感激。

在演练1.12中添加了对查询卡夫卡的支持。我自己没有使用过它,但我将提供所需的一般配置的快速概述。如果您遇到更多问题,请通过Drill的邮件列表与我们联系。我们可以帮助您调试问题,然后将结果发布到此处

您需要做的一般概述如下:

  • 在Drill的web ui中创建存储插件。命名插件kafka

    {
      "bootstrap.servers": "broker_1:port1,broker_2:port2",
      "group.id": "drill-consumer-group-1",
      "enabled": true
    }
    
  • 创建插件配置后,为查询设置适当的kafka消息反序列化器:
    alter session set store.kafka.record.reader=org.apache.drill.exec.store.kafka.decoders.JsonMessageReader
  • 还设置一个适用于查询的轮询超时:
    alter session set store.kafka.poll.timeout=200
  • 尝试一个查询:
    select*from kafka.myTopic

  • 在Drill 1.4之前,不支持使用Drill查询卡夫卡主题。请看,我尝试了您的建议,但出现了错误。使用
    alter session set store.kafka.record.reader='org.apache.drill.exec.store.kafka.decoders.JsonMessageReader'
    我得到了“数据读取错误:读取JSON记录失败”,使用
    alter session set store.kafka.record.reader='org.apache.drill.exec.store.kafka.decoders.AvroMessageReader'
    -“验证错误:未能初始化消息读取器:org.apache.drill.exec.store.kafka.decoders.AvroMessageReader”