2010-12-16 1 views
4

로그 처리에 PIG latin을 사용하고 있는데, 데이터가 전체 hadoop 클러스터를 설정하는 것에 대해 충분히 큰 문제가 아니기 때문에 표현력이 뛰어납니다. 나는 로컬 모드에서 PIG를 실행하고 있지만 사용 가능한 모든 코어 (현재는 16 개)를 사용하고 있지는 않다고 생각합니다. CPU를 모니터링하면 최대 200 %의 CPU 사용량을 보여줍니다.로컬 실행을위한 PIG 미세 조정

로컬 실행을 위해 PIG 미세 조정을위한 자습서 또는 권장 사항이 있습니까? 모든 매퍼가 사용 가능한 모든 코어를 쉽게 조정할 수 있다고 확신합니다. (내 스크립트에서 이미 20 default_parallel 매개 변수를 설정했습니다)

안부 인사.

답변

5

Pig's documentation 로컬 작업은 분산 된 정렬을 사용하는 특정 기능에 대해 다른 코드 경로를 사용하여 단일 스레드로 실행되도록되어 있습니다. 결과적으로 Pig의 로컬 모드를 최적화하는 것이 제시된 문제에 대한 잘못된 해결책 인 것처럼 보입니다.

전체 클러스터 설정에 투자하는 대신 로컬 "의사 배포"클러스터를 실행하는 것으로 생각하십니까? Hadoop's instructions for pseudo-distributed operation,을 따르고 돼지를 localhost으로 지정하십시오. 이것은 2 단계 시동 및 분해를 희생하여 원하는 결과를 얻을 수 있습니다.

시스템에서 사용 가능한 모든 코어를 소모하도록 기본 매퍼 및 리듀서의 수를 늘리십시오. 다행히도, 이것은 합리적으로 잘 문서화되어있다 (분명히, cluster setup documentation); 로컬 복사본 $HADOOP_HOME/conf/mapred-site.xmlmapred.tasktracker.map.tasks.maximummapred.tasktracker.reduce.tasks.maximum을 간단하게 정의하십시오.