我正在研究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/
2条答案
按热度按时间hjzp0vay1#
我认为您需要提供kafka的jar文件的绝对路径,在
spark-submit
命令,如下所示:您可以从这里下载jar文件。有关详细信息,请参阅此。
mftmpeh82#
不清楚你是怎么运行代码的。继续读博客,你就会明白
似乎你错过了添加
--packages
旗帜在jupyter,你可以加上这个
注:
_2.11:2.4.0
需要与scala和spark版本保持一致