如何处理无法使用传递给 pyspark 中的 mapPartitions() 的函数内的 print 语句调试代码的问题?
考虑这个例子:
def func(kv_iterator):
for key, value in iterator:
#do fancy stuff
print('This print statement does not reach the driver program')
return [result]
result = someRdd.mapPartitions(func)
Run Code Online (Sandbox Code Playgroud)
在 func 内部,我想对可迭代和索引进行大量工作,但我可以测试我的代码,而无需在 func 内部使用过多的变量。
是否可以以某种方式将打印语句从一个分区重定向到我的驱动程序/输出通道?