首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在pyspark中使用foreach接收器?

如何在pyspark中使用foreach接收器?
EN

Stack Overflow用户
提问于 2018-01-11 15:16:03
回答 4查看 4.1K关注 0票数 2

如何在Python Spark structured streaming中使用foreach在输出上触发操作。

代码语言:javascript
运行
复制
query = wordCounts\
    .writeStream\
    .outputMode('update')\
    .foreach(func)\
    .start()

def func():
    ops(wordCounts)
EN

回答 4

Stack Overflow用户

发布于 2019-01-20 01:50:30

在Spark 2.4.0中添加了对Python中的foreach接收器的支持,文档也进行了更新:http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#using-foreach-and-foreachbatch

确保您拥有该版本,现在可以执行以下操作:

代码语言:javascript
运行
复制
def process_row(row):
    # Process row
    pass

query = streamingDF.writeStream.foreach(process_row).start()  
票数 5
EN

Stack Overflow用户

发布于 2018-01-11 21:02:14

TL;DR在火花源中不能使用foreach方法。

引用Spark Structured Streaming的official documentation (突出我的):

操作允许在输出数据上计算任意操作。从Spark2.1开始,这只适用于Scala和。

票数 4
EN

Stack Overflow用户

发布于 2018-03-28 11:29:18

现在不可能通过任何简单的技巧在pyspark中使用foreach,此外,在pyspark中,update输出模式只能用于调试。

我推荐你在scala中使用spark,这并不难学。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48201647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档