【问题标题】:store message from kafka to hdfs将消息从 kafka 存储到 hdfs
【发布时间】:2020-06-09 11:35:11
【问题描述】:
我正在使用 confluent-Kafka 和 python。
我想将 Kafka 连接到 Hdfs 并将一些特定的数据直接存储在 Hdfs 中。
我找到了融合的 HDFS 连接器,但我不知道如何将它与我的 python 脚本连接起来。
任何想法 ?或任何将消息直接从 Kafka 存储到 Hdfs 的替代方法?
【问题讨论】:
标签:
python
apache-kafka
hdfs
apache-kafka-connect
confluent-platform
【解决方案1】:
要将数据从 Kafka 获取到 HDFS 等数据存储,请使用 Kafka Connect(它是 Apache Kafka 的一部分)。
您需要运行一个 Apache Kafka 工作程序(一个 JVM 进程,就像 Kafka 代理等),然后使用 REST API 将您想要以 JSON 形式使用的连接器的配置传递给它。
在文档 here 或 this talk 中了解有关 Kafka Connect 的更多信息,以及包含快速入门教程 here 的 HDFS 连接器本身。
【解决方案2】:
我不知道如何将它与我的 python 脚本连接起来
Kafka Connect 是用 Java 编写的,因此无法与 Python 集成。如果文档可以更清楚地说明这一点,你应该让别人知道。
话虽如此,它确实有一个 REST API。您可以使用 requests 或 urllib.request 从 Python 与它进行交互,就像任何其他 HTTP 服务一样
您还可以使用 PySpark / Flink / Beam 将数据从 Kafka 传输到 HDFS 在 Python 中