Pyspark 如何将经过处理的火花流插入卡夫卡

Pyspark 如何将经过处理的火花流插入卡夫卡,pyspark,apache-kafka,spark-structured-streaming,Pyspark,Apache Kafka,Spark Structured Streaming,在使用下面的代码片段处理之后,我试图将spark stream插入kafka query = ds1 \ .selectExpr("CAST(value AS STRING)")\ .writeStream\ .foreachBatch(do_something) \ .format("kafka") \ .option("topic","topic-name") \

在使用下面的代码片段处理之后,我试图将spark stream插入kafka

query = ds1 \
    .selectExpr("CAST(value AS STRING)")\
    .writeStream\
    .foreachBatch(do_something) \
    .format("kafka") \
    .option("topic","topic-name") \
    .option("kafka.bootstrap.servers", "borkers-IPs") \
    .option("checkpointLocation", "/home/location") \
    .start()

但它似乎插入的是原始流,而不是已处理的流。

如您所见,使用foreachBatch在这里没有任何效果。火花不会产生错误,它就像进入真空一样

引自手册:

结构化流式API提供了两种方法来编写 对不具有现有流式处理的数据源的流式处理查询 sink:foreachBatch()和foreach()

这本优秀的读物正是你想要的


borkers…经纪人?不知道foreachbatch是以这种方式工作的-这是针对任意非标准接收器的