【问题标题】:How to read messages from Kafka using Core spark for batch processing如何使用 Core spark 从 Kafka 读取消息进行批处理
【发布时间】:2016-10-14 14:35:46
【问题描述】:

我可以在没有 Spark Streaming 的情况下从 Kafka 读取消息吗?我的意思是仅使用 Spark Core 库进行批处理。 如果是的话,你能不能举一些例子来说明如何做到这一点。我正在使用 HDP 2.4、Kafka 0.9 和 Spark 1.6。

【问题讨论】:

    标签: apache-spark apache-kafka hortonworks-data-platform


    【解决方案1】:

    spark streaming kafka api中有一个名为KafkaUtils的类。

    https://github.com/apache/spark/blob/master/external/kafka-0-8/src/main/scala/org/apache/spark/streaming/kafka/KafkaUtils.scala

    从这个类中,您可以使用方法createRDD,它基本上是期望偏移量,它仅对非流式应用程序有用。

    依赖jar:

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-streaming-kafka_2.10</artifactId>
        <version>1.6.0</version>
    </dependency>
    

    另外,检查 Kafka Connect,例如您想读取 Kafka 主题数据并将数据填充到 HDFS 中,使用 Kafka Connect 非常简单。

    http://docs.confluent.io/3.0.0/connect/ http://www.confluent.io/product/connectors/

    【讨论】:

    • 谢谢 shankar 我需要为这个 api 配置什么 kerberos 吗?
    • @nilesh1212 :不需要,只需在 pom.xml 中添加依赖即可使用该类。
    • @nilesh1212 : 既然您使用 Kafka 作为输入源,为什么不使用 Spark 流式传输?
    • 我们将使用 Spark Streaming 来实现近乎实时的用例,这只是一个临时解决方案。
    • 是否需要为每个 spark 批处理作业配置偏移量才能从 Kafka 读取消息?
    猜你喜欢
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 2019-12-15
    • 2021-10-18
    • 1970-01-01
    • 2019-05-26
    • 2019-02-23
    相关资源
    最近更新 更多