在AmazonMapReduce上调用已编译的二进制文件



我正在尝试对Amazon Elastic MapReduce进行一些数据分析。映射程序步骤是一个python脚本,其中包括对一个名为"./formatData"的已编译C++二进制文件的调用。例如:

# myMapper.py
from subprocess import *
inputData = sys.stdin.readline()
# ...
p1 = Popen('./formatData', stdin=PIPE, stdout=PIPE)
p1Output = p1.communicate(input=inputData)
result = ... # manipulate the formatted data
print "%st%s" % (result,1)

我可以在亚马逊电子病历上调用这样的二进制可执行文件吗?如果是这样的话,我将把二进制文件存储在哪里(在S3中?),我应该为什么平台编译它,以及我如何确保我的映射程序脚本能够访问它(理想情况下,它应该在当前工作目录中)。

谢谢!

如果您确保二进制文件被正确复制到工作节点,您可以用这种方式调用二进制文件。

参见:

https://forums.aws.amazon.com/thread.jspa?threadID=35158

有关如何使用分布式缓存使二进制文件在工作节点上可访问的说明。

相关内容

  • 没有找到相关文章

最新更新