【问题标题】:Reading a Message from Kafka and writing to HDFS从 Kafka 读取消息并写入 HDFS
【发布时间】:2018-10-24 14:26:01
【问题描述】:

我正在寻找从 Kafka 读取消息(大量消息,每天大约 100B)的最佳方式,在读取消息后我需要对数据进行操作并将其写入 HDFS。

  • 如果我需要以最佳性能做到这一点,我从 Kafka 读取消息并将文件写入 HDFS 的最佳方式是什么?
  • 哪种编程语言最适合这种情况?
  • 我是否需要考虑为此使用 Spark 等解决方案?

【问题讨论】:

    标签: apache-spark hadoop apache-kafka


    【解决方案1】:

    您应该为此使用 Spark 流式传输(请参阅 here),它提供了 Kafka 分区和 Spark 分区之间的简单对应关系。

    或者您可以使用使用 Kafka 流(请参阅 more)。 Kafka Streams 是一个用于构建应用程序和微服务的客户端库,其中输入和输出数据存储在 Kafka 集群中。

    【讨论】:

      【解决方案2】:

      您可以使用 Spark、Flink、NiFi、Streamsets……但 Confluent 提供了 Kafka Connect HDFS 正是为此目的。

      Kafka Connect API 在转换方面有些限制,因此大多数人所做的就是编写一个 Kafka Streams 作业来过滤/增强辅助主题的数据,然后将其写入 HDFS

      注意:这些选项会将许多文件写入 HDFS(通常,每个 Kafka 主题分区一个)

      哪种编程语言最适合?

      以上每个都使用Java。但如果使用 NiFi、Streamsets 或 Kafka Connect,则无需自己编写任何代码

      【讨论】:

      • 还有KSQL 可以考虑进行转换
      猜你喜欢
      • 2018-01-31
      • 2020-08-19
      • 2021-10-19
      • 2018-12-18
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多