[HADOOP] 창문에서 아마존의 탄력적 인 mapreduce (emr) 클러스터에서 mapreduce 작업을 수행하는 방법?
HADOOP창문에서 아마존의 탄력적 인 mapreduce (emr) 클러스터에서 mapreduce 작업을 수행하는 방법?
아마존의 EMR에서 Java Map / Reduce (M / R) 작업을 실행하는 법을 배우려고합니다. 내가 따르고있는 문서는 http://aws.amazon.com/articles/3938입니다. 나는 창 7 컴퓨터에있다.
이 명령을 실행하려고하면 도움말 정보가 표시됩니다.
./elasticmapreduce-client.rb RunJobFlow streaming_jobflow.json
물론, 나는 윈도우 머신에 있기 때문에 실제로이 명령을 입력한다. 이유는 모르겠지만이 특정 명령에는 Windows 버전이 없습니다 (모든 명령은 쌍으로 표시되며, 하나는 * nix 용이고 다른 하나는 Windows 용).
ruby elastic-mapreduce RunJobFlow my_job.json
내 질문은 우리가 윈도우에서 명령 행 인터페이스 (윈도우즈)를 사용하여 아마존의 EMR로 작업을 제출 / 실행하는 방법이다. 나는 온라인 검색을 시도했지만, 나는 야생 장소로 이동합니다. 어떤 도움을 주셔서 감사합니다.
감사.
해결법
-
==============================
1.흠. RunJobFlow 예제가 얼마나 오래되었는지 나는 개인적으로 무시할 것입니다.
흠. RunJobFlow 예제가 얼마나 오래되었는지 나는 개인적으로 무시할 것입니다.
너 도망 갈 수 있니?
localhost$ elastic-mapreduce --describe
일단 당신이 할 수있는 당신은 당신이 할 필요가 정확한 단계를 흔들어 클러스터에서 직접 재생해야합니다 ... 그것은 당신이 클러스터를 시작 / 정지 bazillion 번 그렇게하지 않아도됩니다.
localhost$ elastic-mapreduce --create --alive --num-instances 1 localhost$ elastic-mapreduce -j j-YOUR_ID_HERE --ssh cluster$ hadoop jar my.jar -D some=1 -D args=1 blah blah cluster$ hadoop jar some_other_jar.jar -D foo -D bar cluster$ ^D localhost$ elastic-mapreduce -j j-YOUR_ID_HERE --terminate
그런 다음 단계가 만족 스러울 때 헤드 롤을 실행해야 할 필요가있을 때 (예 : cron에서) EMR이 단계를 조정할 수 있습니다 (클러스터 자체 종료)
localhost$ elastic-mapreduce --create --num-instances 1 localhost$ elastic-mapreduce --jar my_jar.jar --args "-D,some=1,-D,args=1,blah,blah" localhost$ elastic-mapreduce --jar some_other_jar.jar --args "-D,foo,-D,bar"
더 복잡한 단계가 필요하다면 --json 항목 만 탐색 할 수 있습니다. 처음에는 제대로 이해하기 어렵습니다.
-
==============================
2.EMR에서 스트리밍 작업을 실행하려면 먼저 다음과 같은 명령으로 클러스터를 만들어야합니다.
EMR에서 스트리밍 작업을 실행하려면 먼저 다음과 같은 명령으로 클러스터를 만들어야합니다.
ruby elastic-mapreduce --create --alive --plain-output --master-instance-type m1.xlarge --slave-instance-type m1.xlarge --num-instances 6 --name "Some Job Cluster" --bootstrap-action s3://<path-to-a-bootstrap-script>
그러면 jobid가 반환 될 것입니다. j-ABCD7EF763
이제 다음 명령을 사용하여 작업 단계를 제출할 수 있습니다.
ruby elastic-mapreduce -j j-ABCD7EF763 --stream --step-name "my step name" --mapper s3://<some-path>/mapper-script.rb --reducer s3://<some=path>/reducer-script.rb --input s3://<input-path> --output s3://<output-path>
스트리밍 작업을 실행하는 대신 작업을 직접 실행할 수도 있습니다.이 경우 작업이 끝나면 클러스터가 종료됩니다.
-
==============================
3.--json 옵션을 사용해보십시오.
--json 옵션을 사용해보십시오.
예 : ./elastic-mapreduce --create --name 다중 단계 --json wordcount_jobflow.json
단계만으로 json 파일을 다듬어야합니다 ([] 바깥의 모든 것을 제거하십시오). 그것에 대해 논의하는 스레드가 있습니다 : https://forums.aws.amazon.com/thread.jspa?threadID=35093
from https://stackoverflow.com/questions/9621579/how-to-run-a-mapreduce-job-on-amazons-elastic-mapreduce-emr-cluster-from-wind by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 데이터 소스로 HBase를 사용하여 문서의 TF-IDF를 계산합니다. (0) | 2019.08.02 |
---|---|
[HADOOP] pyspark에서 그들을 수집 할 때 왜`binaryFiles` 파일이 비어 있습니까? (0) | 2019.08.02 |
[HADOOP] ClassNotFoundException org.apache.mahout.math.VectorWritable (0) | 2019.08.02 |
[HADOOP] Hadoop 2.5.1 나머지 API로 mapreduce 작업을 어떻게 수행 할 수 있습니까? (0) | 2019.08.02 |
[HADOOP] ArrayList 요소에 반복 가능 (0) | 2019.08.02 |