Hive의 테이블 유형은 무엇인가요? 간단하게 제어 테이블, 외부 테이블, 파티션 테이블, 버킷 테이블의 네 가지 유형으로 나눌 수 있습니다. 엄밀히 말하면 제어 테이블 두 가지 유형으로 나누어야 합니다. 내부 테이블과 외부 테이블이라고도 불리는 테이블, 파티션 테이블과 버킷 테이블은 실제로 제어 테이블의 다른 표현입니다.
1. 제어 테이블
흔히 내부 테이블이라고 부르는 제어 테이블은 외부 테이블에 해당하며, 이는 테이블의 수명 주기 제어를 의미합니다. 테이블 정의가 삭제되면 테이블의 데이터도 삭제됩니다. 하이브의 테이블 레코드와 메타스토어 테이블 TBLS의 테이블 정의에 해당하는 테이블을 생성합니다. 하이브에서 테이블 정의를 삭제하면 테이블의 데이터가 더 이상 존재하지 않으며 메타스토어의 정의도 더 이상 존재하지 않습니다.
2. 외부 테이블
내부 테이블의 데이터 수명 주기는 테이블 정의의 영향을 받지 않습니다. 테이블의 데이터는 테이블 정의 시 해당 파일에 대한 테이블 참조일 뿐입니다. 삭제되어도 테이블의 데이터는 여전히 존재합니다.
3. 파티션 테이블
서버 클러스터가 매일 로그 데이터 파일을 생성하고 해당 데이터 파일을 HDFS에 균일하게 저장한다고 가정합니다. 특정 날짜의 데이터를 쿼리하려는 경우 Hive는 실행 시 모든 파일을 검색하여 지정된 날짜인지 확인합니다. 날짜를 하위 디렉토리로 가질 수 있습니다. 하이브 쿼리 시 날짜를 기준으로 하위 디렉터리가 결정됩니다. 그런 다음 기준을 충족하는 하위 디렉터리의 데이터 파일을 검색합니다.
4. 버킷 테이블
버킷 테이블은 데이터를 해시한 후 다른 파일에 저장합니다. 버킷팅은 데이터를 보다 관리하기 쉬운 부분으로 나누는 또 다른 기술입니다. 테이블 조인 작업을 수행하는 경우 두 테이블의 데이터를 완전히 스캔해야 합니다. 시간이 많이 걸립니다. 조인 필드에 최적화될 수 있습니다. 버케팅의 경우 유사한 테이블의 데이터를 비교하는 것이 매우 편리합니다. 해당 버킷의 데이터만 비교하면 됩니다.