RDD到in.file到外部进程到out.file到RDD

时间:2016-09-15 02:03:34

标签: apache-spark rdd amazon-emr

我需要从我的EMR Spark工作中调用外部进程。我看到rdd.pipe允许我将RDD传递给进程。 (顺便说一句,每个RDD是一个进程,还是每个元素一个进程?)。

但是,我的外部进程需要一个文件名作为输入,并生成一个文件作为输出。

如何调用此外部进程并随后将输出文件作为RDD加载?

1 个答案:

答案 0 :(得分:1)

  

是每个RDD一个进程,还是每个元素一个进程?

都不是。这是一个每个分区的过程。

  

进程需要一个文件名作为输入,并生成一个文件作为输出。怎么可以

最简单的解决方案是编写一个简单的包装器,它写入随机生成的路径,调用程序,读取文件并写入stdout,这几乎就是pipe的所有内容。除非您写入分布式文件系统,否则您将无法检索输出。