개요
Kudu에는 자체 카탈로그를 HMS (Hive Metastore)와 통합 할 수있는 선택적 기능이 있습니다. HMS는 Hadoop 에코 시스템의 사실상 표준 카탈로그 및 메타 데이터 제공 업체입니다. HMS 통합이 활성화되면 Kudu 테이블은 Kudu를 인식하거나 통합하지 않더라도 외부 HMS 인식 도구에서 검색 및 사용할 수 있습니다. 또한 이러한 구성 요소는 HMS를 사용하여 Kudu 마스터 주소와 같이 테이블을 소유하는 Kudu 클러스터에 연결하는 데 필요한 정보를 검색 할 수 있습니다.
데이터베이스 및 테이블 이름
Hive Metastore 통합이 비활성화 된 경우 Kudu는 데이터베이스의 계층 또는 개념이없는 단일 플랫 네임 스페이스로 테이블을 제공합니다. 또한 테이블 이름에 대한 Kudu의 유일한 제한은 유효한 UTF-8 인코딩 문자열이라는 것입니다. Kudu에서 HMS 통합이 활성화되면 HMS 모델과 일치하기 위해 이러한 속성이 모두 변경됩니다. 테이블 이름은 테이블의 Hive 데이터베이스 멤버 자격을 나타내야하며 테이블 이름 식별자 (예 : 테이블 이름 및 데이터베이스 이름)는 주제입니다. Hive 테이블 이름 식별자 제약 조건에.
데이터베이스
Hive에는 개별 테이블 모음 인 데이터베이스 개념이 있습니다. 각 데이터베이스는 테이블 이름의 고유 한 독립 네임 스페이스를 형성합니다. 이 모델에 맞추려면 HMS 통합이 활성화 된 경우 Kudu 테이블에 데이터베이스를 할당해야합니다. 데이터베이스를 생성하거나 삭제하기위한 새로운 API가 추가되지 않았으며 기존 Kudu 테이블을 데이터베이스에 할당하는 API도 없습니다. 대신 Kudu 테이블 이름이 형식이어야한다는 새로운 규칙이 도입되었습니다 <hive-database-name>.<hive-table-name>. 따라서 데이터베이스는 Kudu 테이블 이름의 암시 적 부분입니다. Kudu 테이블 이름의 암시 적 부분으로 데이터베이스를 포함함으로써 Kudu 테이블을 사용하는 기존 애플리케이션은 최소한의 변경이나 변경없이 HMS 통합 및 HMS 통합 테이블 이름이 아닌 테이블 이름에서 작동 할 수 있습니다.
Kudu는 Hive 데이터베이스를 생성하거나 삭제하기위한 추가 도구를 제공하지 않습니다. 관리자 또는 사용자는 Beeline Shell 또는 Impala와 같은 기존 Hive 도구를 사용해야합니다.
명명 제약
Hive Metastore 통합이 활성화 된 경우 Kudu 테이블의 데이터베이스 및 테이블 이름은 Hive Metastore 명명 제약 조건을 따라야합니다. 즉, 데이터베이스 및 테이블 이름에는 영숫자 ASCII 문자와 밑줄 ( _) 만 포함되어야합니다 .
또한 Hive Metastore는 테이블 이름 식별자에 대소 문자 구분을 적용하지 않습니다. 따라서 활성화되면 Kudu는 테이블 이름 식별자가 대소 문자 만 다른 테이블이 이미 존재하는 경우이를 따르고 테이블 생성을 허용하지 않습니다. 테이블을 열거 나 변경하거나 삭제하는 작업도 테이블 이름 식별자에 대해 대소 문자를 구분하지 않습니다.
'기술_Kudu' 카테고리의 다른 글
기존 테이블 업그레이드 (0) | 2022.07.06 |
---|---|
Hive 메타 스토어 통합 활성화 (0) | 2022.07.06 |
마스터 구성 (0) | 2022.07.05 |
Apache Must 구성 (0) | 2022.07.05 |
C ++ 클라이언트 라이브러리 설치 (0) | 2022.07.05 |