2013-11-21 3 views
2

데이터 파이프 라인 문서에 따르면 EMRActivity Step 명령은 일반 EMR 작업과 다른 형식을 사용합니다. 여기 EmrActivity에 대한 다중 입력

은 간단한 예입니다 :

/home/hadoop/contrib/streaming/hadoop-streaming.jar,-input,s3://mybucket/folder1/*.gz,-output,s3://output,-mapper=mapper,-reduce=reducer. 

내가 한 단계 명령에 그 여러 입력을 전달할 수있는 방법의 내가 여러 버킷에서 데이터를 끌어 할 필요가 있다고 가정 해 봅시다?

일반 EMR 작업 설정에서는 입력 경로를 쉼표로 구분하지만 EmrActivity에서는 작동하지 않습니다.

정말 EmrActivity에 대한 솔루션에 관심이 있습니다. 사본 활동을 설정하여 내 데이터를 임시 고유 위치로 가져 오는 것과 반대입니다.

감사합니다.

+0

필자가 피곤한 것 몇 가지 : -put을 여러 번 호출하고, -files를 사용하여 -input에 배열을 전달합니다. 불운. –

+1

은 내가해야만하는 것처럼 보이지만 -input param 값에서 여러 경로를 구분하는 쉼표 (\)를 이스케이프 처리합니다. /home/hadoop/contrib/streaming/hadoop-streaming.jar,-input,s3 : //mybucket/folder1/*.gz \, s3 : //mybucket/folder2/*.gz,-output,s3 : // 출력, -mapper = mapper, -reduce = reducer. –

+0

쉼표에서 벗어나려고하면 "Invalid \ escape"가됩니다. –

답변

0

json의 유효성을 검사하려면 cli 이스케이프가 필요합니다. CLI에서 json을 사용하는 경우 "\"를 시도하십시오. (\,)는 콘솔에서 작동합니다.