2013-09-24 4 views
0

아직 하이브를 배우고 있습니다. 하이브에서 버킷 (Buckets)의 개념을 이해하기 위해 몇 권의 책을 추천했습니다. 배운 것은 버킷을 시행하면 버킷 수와 정확히 같은 수의 파일을 생성한다는 것입니다.하이브의 버킷이있는 테이블에 데이터를 점진적으로로드합니까?

제 경우에는 버킷이 달린 테이블에 데이터를 점진적으로 하루에 다섯 번로드합니다. 예 : 16 개의 버킷이있는 테이블이 있으면 각로드는 해시/샘플을 기반으로 16 개의 파일을 만듭니다. 5 번 실행하면 80 개의 파일이 생성됩니다.

My Question is , if i have table with 16 buckets defined on it with 80 files 
in HDFS, will it going to give bucketing benefits ? 

답변

1

각 증분로드마다 다른 테이블을 만드나요?

하둡 배포판을 사용하고 계십니까?

나는 동일한 전략을 사용하고 있으며 모든 증분로드는 내가 정의한 동일한 수의 버킷을 생성 (및 재정의)합니다.

하이브 사용자가 하이브 테이블을 만들고 다른 사용자 (hdfs)로 채워 졌기 때문에 사용 권한 문제가 발생했을 때 파일이 중복되어 문제가 발생했습니다. 소유자에 대한/사용자/하이브/창고 디렉토리에서

봐는/테이블 디렉토리의 권한은, 이후 같은 (소유자/권한)의 하위 디렉토리에 보면 아니, 내가 각각 동일한 테이블을 사용하고

+0

로드. 데이터를 계속 추가하려는 계획. 나는 각 양동이에 대해 여러 개의 파일을 가지고있을 때 양동이 혜택을 줄 수 있는지 확인하려고합니다. – hjamali52

+0

이 경우에는 유니온 증분 데이터와 이전 증분 데이터의 결과로 덮어 쓰기 삽입을 사용합니다. 사실, 이전 증분 데이터의 일부분, 새로운 증분 데이터에없는 부분 (왼쪽 조인으로 필터링 됨) – chech0x

+0

**이 ** 방식 (유니버스의 오버라이드 삽입)에서는 동일한 수의 버킷 파일이 있습니다. – chech0x