我需要从我的EMR Spark工作中调用外部进程。我看到rdd.pipe
允许我将RDD传递给进程。 (顺便说一句,每个RDD是一个进程,还是每个元素一个进程?)。
但是,我的外部进程需要一个文件名作为输入,并生成一个文件作为输出。
如何调用此外部进程并随后将输出文件作为RDD加载?
答案 0 :(得分:1)
是每个RDD一个进程,还是每个元素一个进程?
都不是。这是一个每个分区的过程。
进程需要一个文件名作为输入,并生成一个文件作为输出。怎么可以
最简单的解决方案是编写一个简单的包装器,它写入随机生成的路径,调用程序,读取文件并写入stdout,这几乎就是pipe
的所有内容。除非您写入分布式文件系统,否则您将无法检索输出。