pyspark未能找到数据源:kafka

7gs2gvoe  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(419)

我正在研究Kafka流媒体,并尝试将其与apachespark集成。然而,在跑步的时候我遇到了一些问题。我得到下面的错误。
这是我正在使用的命令。 df_TR = Spark.readStream.format("kafka").option("kafka.bootstrap.servers", "localhost:9092").option("subscribe", "taxirides").load() 错误:
py4jjavaerror:调用o77.load时出错。:java.lang.classnotfoundexception:未能找到数据源:kafka。请在以下地址查找包裹http://spark.apache.org/third-party-projects.html
我如何解决这个问题?
注意:我在jupyter笔记本上运行这个

findspark.init('/home/karan/spark-2.1.0-bin-hadoop2.7')
import pyspark
from pyspark.sql import SparkSession
Spark = SparkSession.builder.appName('KafkaStreaming').getOrCreate()
from pyspark.sql.types import *
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils

一切都运行良好,直到这里(以上代码) df_TR = Spark.readStream.format("kafka").option("kafka.bootstrap.servers", "localhost:9092").option("subscribe", "taxirides").load() 这就是事情出错的地方(上面的代码)。
我关注的博客:https://www.adaltas.com/en/2019/04/18/spark-streaming-data-pipelines-with-structured-streaming/

hjzp0vay

hjzp0vay1#

我认为您需要提供kafka的jar文件的绝对路径,在 spark-submit 命令,如下所示:

./bin/spark-submit --jars /path/to/spark-streaming-kafka-0-8-assembly_2.11-2.0.0.jar

您可以从这里下载jar文件。有关详细信息,请参阅此。

mftmpeh8

mftmpeh82#

不清楚你是怎么运行代码的。继续读博客,你就会明白

spark-submit \
  ...
  --packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.4.0 \
  sstreaming-spark-out.py

似乎你错过了添加 --packages 旗帜
在jupyter,你可以加上这个

import os

# setup arguments

os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.4.0'

# initialize spark

import pyspark
findspark.init()

注: _2.11:2.4.0 需要与scala和spark版本保持一致

相关问题