2011-08-05 2 views
2

동일한 키로 분산 된 테이블을 조인하고 조인 조건에서이 키 열을 사용하면 netezza의 각 SPU (machine)가 다른 키와 독립적으로 100 % 작동합니다 (nz-interview 참조).이론적으로 하이브에 collocated 조인 (a-la-netezza)이 가능합니까?

하이브에는 데이터 파일에 대한 테이블을 나타내는 파일의 배포가 HDFS의 책임이며 하이브 CLUSTERED BY 키에 따라 수행되지 않습니다!

같은 키로 CLUSTERED 한 두 개의 테이블이 있고 그 키로 결합한다고 가정합니다. 일치하는 버킷이 동일한 노드에 위치한다는 HDFS의 보장을 얻을 수 있습니까? 또는 항상 작은 테이블의 일치하는 버킷을 큰 테이블 버킷을 포함하는 데이터 노드로 이동해야합니까?

감사합니다, 이도

(참고 :이 내 앞의 질문의 더 나은 말씨입니다 : How does hive/hadoop assures that each mapper works on data that is local for it?)

답변

0

나는 데이터 블록을 저장하는 HDFS에 말할 수 없습니다 생각합니다.
작은 클러스터의 경우 다음과 같은 트릭을 고려해 볼 수 있습니다. 하나의 테이블에 대한 복제 계수를 클러스터의 노드 수와 비슷하거나 같은 수로 늘릴 수 있습니다.
결과적으로 조인 프로세스 중에 적절한 데이터가 거의 항상 (또는 항상) 필수 노드에 나타납니다.

관련 문제