Lakehouse 런타임 카탈로그와 Spark 및 Hive를 통합하면 자체 호스팅 Hive Metastore(HMS)를 유지관리하는 운영 오버헤드가 제거되고 BigQuery에서 통합 메타데이터 공유 및 직접 테이블 쿼리가 가능해집니다.
이 문서에서는 이 통합의 기능 제약조건과 서비스 고려사항을 중점적으로 설명합니다. Lakehouse 런타임 카탈로그에서 오픈소스 데이터베이스 파이프라인을 마이그레이션하거나 빌드하기 전에 이러한 제한사항을 검토하여 이 통합이 기술 요구사항과 일치하는지 확인하세요.
제한사항 대신 구성 및 쿼리 안내는 Lakehouse 런타임 카탈로그와 함께 Spark 및 Hive 사용을 참조하세요.
Lakehouse 런타임 카탈로그 제한사항
이 섹션에는 다양한 서비스와 함께 Lakehouse 런타임 카탈로그를 사용하는 데 적용되는 제한사항이 나와 있습니다.
Metastore 제한사항
- Managed Service for Apache Spark는 테두리 없는 Lakehouse Metastore가 있는 PySpark 작업만 지원합니다.
- Dataproc API는
properties필드에서 Lakehouse Metastore 속성 설정을 지원하지 않습니다. - Lakehouse 런타임 카탈로그는 위임 토큰 또는 기본 키 API를 지원하지 않으므로 Kerberos를 사용하는 Managed Service for Apache Spark 클러스터를 만들 수 없습니다.
- 데이터베이스와 테이블은 Cloud Storage 버킷이 Hive 카탈로그와 동일한 리전에 있는 한 Hive 카탈로그와 다른 Cloud Storage
location_uri를 사용할 수 있습니다. - Hive 카탈로그에는 Iceberg 네임스페이스 및 테이블이 포함될 수 없습니다. Iceberg 네임스페이스 및 테이블을 만들고 사용하려면 대신 Lakehouse 런타임 카탈로그를 사용하세요.
- 연쇄 삭제는 Hive 데이터베이스 및 Hive 카탈로그에서 지원되지 않습니다.
- Trino 지원은 제공되지 않습니다.
테이블 제한사항
- 테이블 이름 바꾸기는 지원되지 않습니다.
- 파티션 이름 바꾸기는 지원되지 않습니다.
- 테이블 또는 데이터베이스를 삭제해도 Cloud Storage에서 연결된 파일이 삭제되지는 않습니다.
- 대소문자를 구분하지 않는 검색은 지원되지 않습니다.
- 클러스터링 및 버케팅은 지원되지 않습니다.
- 가상 뷰만 지원됩니다.
- Delta Lake 테이블은 Apache Spark (읽기 및 쓰기) 및 BigQuery (읽기 전용)를 통해 지원됩니다. Hive 클라이언트 (예: Hive CLI)는 Delta Lake 테이블을 지원하지 않습니다. 모든 BigQuery Delta Lake 외부 테이블 제한사항 및 BigLake 테이블 제한사항 이 적용됩니다. 자세한 내용과 구체적인 제한사항은 Delta 테이블로 Spark 설정을 참조하세요.
파티션 배치 크기
Lakehouse 런타임 카탈로그는 파티션 프루닝에 사용할 파티셔닝 정보의 저장 및 검색을 지원합니다. 쓰기보다 읽기에 최적화되어 있어 파티션 프루닝을 통해 쿼리 성능이 향상됩니다.
파티션 수집 성능을 최적화하기 위해 배치 파티션 크기는 900으로 제한됩니다.
파티셔닝 작업의 배치 크기를 결정하는 Hive 및 Spark 속성에 대해 다음 구성을 설정합니다.
SET hive.msck.repair.batch.size = 900;SET spark.sql.addPartitionInBatch.size = 900;
BigQuery 제한사항
- 기본적으로 BigQuery는
ARRAY<ARRAY<>>또는ARRAY<MAP<>>데이터 유형을 지원하지 않습니다.MAP지원을 허용 목록에 추가해야 합니다. 워크로드에서MAP을 광범위하게 사용하는 경우 biglake-help@google.com으로 문의하세요. MAP키 유형은 기본 데이터 유형만 지원합니다.ARRAY,STRUCT또는MAP을 키 유형으로 사용할 수 없습니다.BigQuery는 Cloud Storage의 데이터만 쿼리할 수 있습니다. 다음과 같은 제한사항이 적용됩니다.
- 테이블 위치 URI에는 와일드 카드 (
*)를 포함할 수 없습니다. - 테이블 위치 URI는 디렉터리여야 합니다.
- 테이블 위치 URI에는 와일드 카드 (
리전 간 복제 및 재해 복구 제한사항
Lakehouse 런타임 카탈로그는 카탈로그의 가용성과 복원력을 개선하기 위해 리전 간 복제 및 재해 복구를 제공합니다.
Hive 카탈로그와 함께 Lakehouse 런타임 카탈로그를 사용하는 경우 다음 제한사항이 적용됩니다.
- Hive 카탈로그를 만들 때 Cloud Storage 버킷의 리전과 일치하도록
primary_location을 설정해야 합니다. 그러면 Lakehouse 런타임 카탈로그가 버킷의 이중 리전 또는 멀티 리전 구성에 따라 메타데이터를 보조 리전에 자동으로 복사합니다. 이 보조 메타데이터 사본은 장애 조치 작업을 사용하여 기본으로 승격할 때까지 읽기 전용입니다. - 장애 조치 중에
replication_time타임스탬프는 기본 Cloud Storage 데이터 파일이 보조 리전으로 복제를 완료했는지 여부가 아니라 카탈로그 메타데이터 복제만 추적합니다. 데이터 중복은 Lakehouse 런타임 카탈로그 메타데이터 복제와 별개인 버킷의 이중 리전 또는 멀티 리전 설정을 따릅니다.
고려사항
Lakehouse 런타임 카탈로그는 Hive Metastore 인터페이스의 하위 집합을 지원합니다. 이 설계는 Hive Metastore와의 완전한 호환성이 필요하지 않은 Spark ExternalCatalog와의 호환성을 우선시합니다.
리소스 매핑
다음 표에서는 Hive Metastore 리소스를 Lakehouse 런타임 카탈로그 리소스 및 필요한 Identity and Access Management (IAM) 권한에 매핑합니다.
| Hive Metastore 리소스 | Lakehouse 런타임 카탈로그 리소스 | IAM 권한 |
|---|---|---|
| 카탈로그 | 카탈로그 | biglake.catalogs.* |
| 데이터베이스 | 데이터베이스 | biglake.namespaces.* |
| 테이블 | 테이블 | biglake.tables.* |
거버넌스
Hive Metastore (HMS)는 테이블, 열, 파티션 수준에서 거버넌스를 제공합니다. Lakehouse 런타임 카탈로그는 테이블 수준 및 파티션 수준 IAM 권한을 제공합니다. 열 수준 거버넌스는 지원되지 않습니다.
스토리지 제한사항
- 모든 BigQuery 외부 테이블 제한사항이 적용됩니다.
파티션 제한사항
- 파티션 수준에서 열 수준 통계를 추적하는 것은 지원되지 않습니다.
BatchCreateHivePartitionsAPI는 호출을 900개 파티션으로 제한합니다.
다음 단계
- Lakehouse 런타임 카탈로그와 함께 Spark 및 Hive를 사용합니다.