【发布时间】:2015-05-27 16:28:29
【问题描述】:
作为my previous question 的后续,我如何在本地映射 RDD,即在不实际使用collect 的情况下将数据收集到本地流中(因为数据太大了)。
具体来说,我想写一些类似的东西
from subprocess import Popen, PIPE
with open('out','w') as out:
with open('err','w') as err:
myproc = Popen([.....],stdin=PIPE,stdout=out,stderr=err)
myrdd.iterate_locally(lambda x: myproc.stdin.write(x+'\n'))
如何实现这个iterate_locally?
-
不有效吗:
collect返回值太大了:myrdd.collect().foreach(lambda x: myproc.stdin.write(x+'\n')) -
不工作:
foreach以分布式模式执行其参数,不在本地myrdd.foreach(lambda x: myproc.stdin.write(x+'\n'))
相关:
【问题讨论】:
标签: apache-spark pyspark