PySpark如何对接Kafka,以及报错解决

1.处理完的特征数据如何写入kafka

        1.1源数据展示(csv文件)

        1.2 处理完数据如何写入

       直接上代码

        

from pyspark.sql.functions import to_json, struct
from pyspark.shell import spark

# 定义Kafka连接信息
kafka_broker = "192.168.xx.xx:端口号"
kafka_topic = "主题"

df = df.withColumn("value", to_json(struct(df.columns)))

# 对接kafka,后期可对接实时 查询命令:kafka-console-consumer.sh --bootstrap-server ip:端口 --topic passenger_data --from-beginning
df.select("value").write \
    .format("kafka") \
    .option("kafka.bootstrap.servers", kafka_broker) \
    .option("topic", kafka_topic) \
    .save()

2.报错分析

        2.1 :报错TaskSetManager: Lost task 0.0 in stage 7.0 (TID 7, localhost, executor driver): java.lang.NoSuchMethodError: org.apache.kafka.clients.producer.KafkaProducer.flush()V

        解决:这个问题简单,需要把要连接的kafka下的libs里面的kafka-clients-x.x.x.jar包放到spark的jars下面

        

放到这里

        2.2 :报错 : org.apache.spark.sql.AnalysisException: Failed to find data source: kafka. Please deploy the application as per the deployment section of "Structured Streaming + Kafka Integration Guide".;

        解决:这个是因为缺少了Kafka和Spark的集成包,前往https://mvnrepository.com/artifact/org.apache.spark

        下载对应的jar包即可,比如我是SparkSql写入的Kafka,那么我就需要下载Spark-Sql-Kafka.x.x.x.jar

找到对应版本

点击即可下载

        目前就遇到这么多,如果还有欢迎补充

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大马猴写bug

您的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值