【问题标题】:Spark streaming and kafka integrationSpark 流和 kafka 集成
【发布时间】:2017-11-29 01:36:46
【问题描述】:

我正在为一个用 python 编程的项目使用 kafka 和 spark 流。我想将数据从 kafka 生产者发送到我的流媒体程序。当我使用指定的依赖项执行以下命令时,它工作顺利:

./spark-submit --packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.1.0 ./kafkastreaming.py

有什么方法可以指定依赖项并直接运行流代码(即不使用 spark-submit 或使用 spark-submit 但不指定依赖项。)

我尝试在 spark 的 conf 目录中指定 spark-defaults.conf 中的依赖项。 指定的依赖项是: 1.org.apache.spark:spark-streaming-kafka-0-8_2.11:2.1.0 2.org.apache.spark:spark-streaming-kafka-0-8-assembly:2.1.1

注意 - 我提到了使用 netcat 的 spark 流式传输指南 https://spark.apache.org/docs/latest/streaming-programming-guide.html 它在不使用 spark-submit 命令的情况下工作,因此我想知道我是否可以对 kafka 和 spark 流进行同样的操作。

【问题讨论】:

    标签: python apache-spark apache-kafka spark-streaming spark-streaming-kafka


    【解决方案1】:

    将您的附加依赖项提供到您的 spark 分发的 "jars" 文件夹中。停止并再次启动火花。这样,依赖项将在运行时解决,而无需在命令行中添加任何其他选项

    【讨论】:

    • 嗨!我将依赖项“spark-streaming-kafka-0-8_2.11-2.1.0.jar”和“spark-streaming-kafka-0-8-assembly_2.10-2.1.1.jar”添加到“jars”文件夹spark 并在没有“--packages”选项的情况下执行 spark-submit,它会给出一个错误,说它找不到那些依赖项。
    猜你喜欢
    • 2017-06-30
    • 2021-01-03
    • 2019-09-18
    • 2018-01-09
    • 2017-12-06
    • 2016-04-29
    • 2019-01-15
    • 2021-02-28
    • 1970-01-01
    相关资源
    最近更新 更多