P K*_*nel 3 apache-kafka apache-spark pyspark spark-streaming-kafka
我正在研究 Kafka 流媒体并尝试将其与 Apache Spark 集成。但是,在运行时我遇到了问题。我收到以下错误。
这是我正在使用的命令。
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 Notebook 中运行它
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
Run Code Online (Sandbox Code Playgroud)
一切都运行良好,直到这里(上面的代码)
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/
不清楚你是如何运行代码的。继续阅读博客,你会看到
spark-submit \
...
--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.4.0 \
sstreaming-spark-out.py
Run Code Online (Sandbox Code Playgroud)
似乎你错过了添加 --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()
Run Code Online (Sandbox Code Playgroud)
注意:_2.11:2.4.0需要与您的 Scala 和 Spark 版本保持一致...根据问题,您的应该是 Spark 2.1.0
| 归档时间: |
|
| 查看次数: |
4772 次 |
| 最近记录: |