1

Amazon Elastic MapReduce에서 일부 데이터 분석을 시도하고 있습니다. 매퍼 단계는 "./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에서?), 어떤 플랫폼에서 컴파일해야하는지, 매퍼 스크립트가 어떻게 접근 할 수 있는지 (이상적으로는 현재 작업 디렉토리에있을 것이다).

감사합니다.

답변

3

바이너리가 작업자 노드에 올바르게 복사되었는지 확인하면 바이너리를 호출 할 수 있습니다.

은 참조 :

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

작업자 노드에서 이진 파일에 액세스 할 수 있도록 분산 캐시를 사용하는 방법에 대한 설명.

+0

감사합니다. 또한, 어떤 플랫폼을 컴파일해야합니까? – tba

+0

Linux (신축성있는 map-reduce가 Amazon Linux에서 실행 됨). – gwt

+1

오래된 리눅스 상자에 빌드가 작동하지 않으므로 EMR을 빌드하기 위해이 가이드를 찾았습니다. http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/usingemr_buildingmodules.html – tba