如何捕获pyspark foreachPartition的日志输出?

2024-04-29 16:24:33 发布

您现在位置:Python中文网/ 问答频道 /正文

火花塞

当我在foreachRdd方法中使用print()时,它是有效的!在

def echo(data):
print data
....
lines = MQTTUtils.createStream(ssc, brokerUrl, topics)

topic_rdd = lines.map(lambda x: get_topic_rdd(x)).filter(lambda x: x[0]!= None)

topic_rdd.foreachRDD(lambda x: echo(x))

我可以看看有火花的控制台

但是如果我使用foreachPartition的方法,它就看不到print()的任何日志

^{pr2}$

如果我想查看日志,我需要输入不同的分区来查看日志?我能看看单间的日志吗控制台。通过另外,我可以在一个控制台中使用scala而不是python查看日志。在


Tags: 方法lambdaechodatatopicdeflinesprint
1条回答
网友
1楼 · 发布于 2024-04-29 16:24:33

在rdd.foreachRDD公司正在运行驱动程序节点,该节点向您的终端发送消息

在rdd.foreachPartition公司运行在worker节点上,该节点向worker的终端发送消息,您看不到

如果您想查看日志,只需将它们保存为文件

相关问题 更多 >