gpt4 book ai didi

apache-spark - 如何在本地映射 RDD?

转载 作者:行者123 更新时间:2023-12-02 01:37:23 25 4
gpt4 key购买 nike

作为 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

  • NOT 是否有效:collect 返回值太大:

    myrdd.collect().foreach(lambda x: myproc.stdin.write(x+'\n'))

  • NOT 是否工作:foreach 在分布式模式下执行其参数,NOT 在本地

    myrdd.foreach(lambda x: myproc.stdin.write(x+'\n'))

相关:

最佳答案

RDD.foreachPartition 呢?您可以批量处理数据,如下所示:

myRdd.foreachPartition(it => it.collect.foreach(...))

如果您查看 feature request history , RDD.foreachPartition 的创建就是为了跨越这个中间地带。

关于apache-spark - 如何在本地映射 RDD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30488189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com