1
我正在嘗試對Amazon Elastic MapReduce進行一些數據分析。映射器步驟是一個python腳本,它包含對稱爲「./formatData」的已編譯C++二進制文件的調用。例如:在Amazon MapReduce上調用已編譯的二進制文件
# 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 "%s\t%s" % (result,1)
我可以在Amazon EMR上調用這樣的二進制可執行文件嗎?如果是這樣,我將在哪裏存儲二進制文件(在S3中),我應該編譯什麼平臺,以及如何確保我的映射器腳本可以訪問它(理想情況下,它將位於當前工作目錄中)。
謝謝!
謝謝。另外,我應該編譯什麼平臺? – tba 2012-02-07 01:23:10
Linux(彈性map-reduce在Amazon Linux上運行)。 – gwt 2012-02-07 01:52:05
在任何舊版Linux機器上構建都不行,所以我發現這個指南是建立在EMR上的:http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/usingemr_buildingmodules.html – tba 2012-02-07 05:10:30