AWS의 데이터 파이프 라인을 통해 EMR 작업을 설정했습니다. 이 작업은 S3에서 DynamoDB로 CSV 데이터를 전송하는 것입니다.EMR의 Hadoop - 매핑 작업이 병렬이 아님
내 데이터 크기는 400MB입니다. 내가 mapred.max.split.size = 134217728
(즉, 128MB)을 설정했습니다. 이를 통해 그래프를 모니터링 할 때 3 가지 맵 작업이 있음을 알 수 있습니다. 그러나 이러한 작업은 결코 병렬로 실행되지 않습니다. 따라서 400MB를 완료하는 데 43 분이 걸립니다. 태스크에 대한 stderr 로그는 항상 순차적으로 실행되는 맵 태스크를 표시합니다.
m1.small, c3.xlarge, c3.2xlarge와 같은 다양한 인스턴스 유형의 2 개 코어 노드를 시도했지만 아무 소용이 없습니다.
지도 작업을 병렬로 실행하기 위해 수행해야 할 다른 설정/구성이나 업데이트가 있습니까?
예, mapred.tasktracker.map.tasks.maximum을 시도하고 인스턴스 수가 많아졌습니다 (예 : 4 코어 및 c3.xlarge의 4 가지 작업). 사용하지 마십시오. DynamoDB 쪽에서는 처리량이 충분합니다. 실제로, 직업은 절반 이하 만 소비합니다. dynamodb.throughput.write.percent = 1.0을 설정하여 모든 처리량을 사용할 수 있지만 작동하지 않습니다. – Mouli
모두 제대로 작동하고 모든 슬레이브가 동일한 마스터를 가리키고 있는지 확인 했습니까? –
은 gzip 형식의 파일입니까? –