我打算使用rdd.pipe()运算符在spark上运行一个c ++程序,以便了解并行运行程序的可能好处。
在终端我运行它像这样:
./program program_mode -t input -i output
在spark driver 我尝试过:
mapDataset.pipe(s"/path/to/program program_mode -t $mapDataset -i /path/to/output"
其中mapDataset是我已成功加载到spark驱动程序中的输入rdd(类型.fasta文件),但这不起作用。一般的问题是程序希望通过标志输入,但是在spark中,输入是在我调用哪个管道的rdd中。
有没有关于如何正确实现此通信的解决方法?
如果你的程序使用流,则更改其行为方式。
而不是ifstream在命令行上打开文件时,传入stdin您的函数。输出流相同。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。