2014-01-21 2 views
0

저는 하둡과 하이브 세상을 처음 접했습니다.사용 가능한 모든 노드에서 하이브 맵 렌더링 작업을 실행하는 방법?

나는 189 백만 행 (40GB 파일)을 처리하는 하이브 쿼리를 작성했습니다. 쿼리를 실행하는 동안. 하이브 쿼리는 단일 시스템에서 실행되고 많은 맵 및 작업을 생성합니다. 그것은 예상 된 행동인가?

많은 문서에서 읽었습니다. Hadoop은 분산 처리 프레임 워크입니다. 내가 이해하고 있던 것은 하둡이 여러 작업으로 작업을 분할하고 다른 노드에서 작업을 배포하고 일단 작업이 완료되면 감속기가 출력에 참여하게됩니다. 내가 틀렸다면 나를 바로 잡아주세요.

1 개의 마스터 노드와 2 개의 슬레이브 노드가 있습니다. Hadoop 2.2.0과 Hive 0.12.0을 사용하고 있습니다.

답변

0

하이브에 대한 이해가 정확합니다. 쿼리를 hadoop 작업으로 변환하여 여러 작업으로 분할하고, 노드에 배포하고, 매핑> 정렬 & 셔플> 집계 감소> 하이브 CLI로 돌아갑니다.

0

슬레이브 노드가 2 개인 경우 Hive는 클러스터가 올바르게 구성되어 있으면 두 노드간에 작업 부하를 분할합니다.

입력 파일이 분할 가능하지 않은 경우 (예 : GZIP 압축 파일 인 경우) Hadoop은 분할/병렬화 작업을 수행 할 수 없으므로 단일 입력 분할로 인해 중단됩니다. 단일 매퍼, 작업 부하를 단일 시스템으로 제한.

0

빠른 답장을 보내 주셔서 감사합니다.

내 작업을 모두 수정하면 다른 작업으로 변환되어 노드로 배포됩니다.

첫 번째 레벨에서 하둡 웹 UI를 확인하면서 작업이 단일 노드에서 실행 중임을 보여주었습니다. 드릴 다운하는 동안 Mappers 및 Reducers가 표시되고 어디에서 실행되는지 보여줍니다.

고마워요 :)

관련 문제