Windows 执行Spark streaming从Kafka主题读取数据时出错

Windows 执行Spark streaming从Kafka主题读取数据时出错,windows,apache-spark,pyspark,apache-kafka,Windows,Apache Spark,Pyspark,Apache Kafka,我不熟悉卡夫卡和斯帕克。我已经通过卡夫卡制作人传递了这些信息,并试图在spark流媒体中读取,但在main方法中出现错误。代码如下所示 spark提交--packagesorg.apache.spark:spark-streaming-kafka-0-8_2.11:2.4.7 streaming Example.py 您发出的命令正在尝试查找/执行名为流的文件,并为其提供名为Example.py的参数 您需要在任何带有空格的文件周围加引号,以便将其作为单个参数 而且,如果您试图对卡夫卡数据使用

我不熟悉卡夫卡和斯帕克。我已经通过卡夫卡制作人传递了这些信息,并试图在spark流媒体中读取,但在main方法中出现错误。代码如下所示

spark提交--packagesorg.apache.spark:spark-streaming-kafka-0-8_2.11:2.4.7 streaming Example.py


您发出的命令正在尝试查找/执行名为
流的文件
,并为其提供名为
Example.py的参数

您需要在任何带有空格的文件周围加引号,以便将其作为单个参数


而且,如果您试图对卡夫卡数据使用sql查询,您应该使用
org.apache.spark:spark-sql-kafka-0-10…
(对于您各自的spark版本;如果您是spark新手,应该是spark 3);流媒体依赖项已弃用

请将您的完整错误显示为文本,而不是图像。您使用什么命令来运行代码?注意:
pyspark.streaming.kafka
在Spark 2.4前后被删除;如果要在Kafka data>spark submit--packages org.apache.spark:spark-Streaming-Kafka-0-8_2.11:2.4.7 Streaming Example.py上执行sql操作,应该使用结构化流。我正在尝试使用此命令运行代码。请在py文件周围加引号(或将其删除)。。。您使用的是Spark的哪个版本?我使用的是Spark 2.4.7和python版本3.7.9
from pyspark import SparkContext
from pyspark.sql import SparkSession
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils
import json 
import time 


# In[ ]:


if __name__ == "__main__":
    spark = SparkSession.builder.master("local").appName("Kafka Spark Demo").getOrCreate()
    sc=spark.sparkContext
    ssc=StreamingContext(sc, 20)
    message = KafkaUtils.createDirectStream(ssc, topic=['testtopic'], KafkaParams = {"metadata.broker.list": "localhost:9092"})
    data = message.map(lambda x: x[1])
    
    def functordd(rdd):
        try:
            rdd1=rdd.map(lambda x: json.loads(x))
            df = spark.read.json(rdd1)
            df.show()
            sf.createOrReplaceTimeView("Test")
            df1=spark.sql("select iss_position.latitude, iss_position.longitude, message, timestamp from Test")
            
            df1.write.format('csv').mode('append').save("testing")
            
        except:
            pass
        
    data.foreachRDD(functordd)
    sc.stop()