Lakehouse 런타임 카탈로그의 Hive 카탈로그 정보

Lakehouse 런타임 카탈로그는 자체 호스팅 Hive 메타스토어 관리를 간소화하는 서버리스 통합 메타스토어입니다. 이 단일 완전 관리형 메타데이터 레이어를 사용하면 오픈소스 워크로드에 별도의 메타데이터 스토어가 필요하지 않습니다. Apache Spark, Apache Hive, BigQuery 간에 데이터를 원활하게 공유할 수 있습니다.

Apache Spark ExternalCatalog 호환성을 위해 최적화된 이 통합은 Hive Metastore 인터페이스의 하위 집합을 지원합니다. 워크로드가 트랜잭션, 압축, Kerberos와 같은 지원되지 않는 기능을 사용하는지 확인하려면 기능 비교 및 제한사항을 검토하세요.

Hive가 Lakehouse 런타임 카탈로그와 통합되는 방식

Hive metastore 엔드포인트는 Apache Iceberg 테이블이 아닌 표준 Apache Hive 및 Spark 테이블(Hive SerDes 또는 Spark 데이터 소스 사용)을 관리합니다. Spark 작업을 이 엔드포인트에 쉽게 연결할 수 있도록 Managed Service for Apache Spark 이미지는 필요한 클라이언트 라이브러리 및 종속 항목으로 사전 구성되어 있습니다.

다음 순서는 Spark가 메타스토어에 연결되는 방식을 설명합니다.

  1. Apache Spark는 표준 Apache Hive IMetastoreClient 인터페이스를 사용하여 외부 메타데이터 카탈로그에 연결됩니다.
  2. Lakehouse 런타임 카탈로그는 맞춤 IMetastoreClient를 구현하여 Spark 및 Hive 메타데이터를 위한 완전 관리형 메타스토어 서비스를 제공합니다.
  3. 사전 구성된 Managed Service for Apache Spark 런타임은 이 맞춤 클라이언트를 사용하여 메타데이터 작업을 메타스토어로 직접 라우팅합니다.

설정 후 BigQuery에서 Spark로 만든 테이블을 직접 쿼리할 수 있습니다. 이 통합은 Parquet, ORC, Avro와 같은 다양한 스토리지 형식과 Spark와 BigQuery 간의 특정 데이터 유형 매핑을 지원합니다.

Hive 카탈로그가 Google Cloud 서비스와 통합되는 방식

Borderless Lakehouse에서 데이터를 관리하는 방법을 알아보려면 Hive 카탈로그 아키텍처가 Google Cloud 서비스와 통합되는 방식을 참고하세요. 자체 호스팅 metastore를 유지하는 대신 오픈소스 워크로드가 Lakehouse 런타임 카탈로그에 연결하여 Hive 데이터베이스 및 테이블 정의를 관리하는 동시에 기본 데이터 파일을 Cloud Storage 웨어하우스 디렉터리에 직접 저장합니다.

다음 다이어그램에서는 Managed Service for Apache Spark와 같은 컴퓨팅 엔진이 Lakehouse 런타임 카탈로그를 사용하여 Hive에서 기본 데이터 파일을 직접 읽고 쓰는 동안 테이블 메타데이터를 관리하는 방법을 보여줍니다.

Managed Service for Apache Spark, Cloud Storage, Apache Hive 카탈로그를 비롯한 레이크하우스 아키텍처의 구성요소
레이크하우스 Hive 카탈로그 아키텍처 다이어그램.

Hive Metastore와의 기능 비교

다음 표에서는 Hive Metastore와 Lakehouse의 엔티티와 작업을 비교합니다.

항목 또는 작업 Hive Metastore Lakehouse 런타임 카탈로그
카탈로그 ✅ ✅
데이터베이스 (생성, 삭제, 업데이트) ✅ ✅
표 (생성, 삭제, 업데이트) ✅ ✅
파티션 (추가, 삭제, 업데이트) ✅ ✅
표 권한 ✅ ✅ (Identity and Access Management (IAM)를 통해)
파티션 권한 ✅ ✅ (IAM을 통해)
사용자 정의 함수 ✅ 지원되지 않음
버킷팅 / 기울이기 열 ✅ 지원되지 않음
표 및 파티션 열 통계 ✅ 지원되지 않음
주요 제약 조건 ✅ 지원되지 않음
위임 토큰 (Kerberos) ✅ 지원되지 않음
열 권한 ✅ 지원되지 않음
역할 ✅ 지원되지 않음
워크로드 관리자 리소스 계획 ✅ 지원되지 않음
트랜잭션 및 압축 ✅ 지원되지 않음

다음 단계