BigLake metastore는 Cloud Storage 또는 BigQuery에 저장된 레이크하우스 데이터를 오픈소스 런타임(예: Apache Spark 및 Apache Flink) 및 BigQuery를 비롯한 여러 런타임에 연결하는 통합되고 관리되는 서버리스 확장형 metastore입니다.
BigLake metastore는 여러 엔진의 메타데이터를 관리하기 위한 단일 정보 소스를 제공합니다. BigLake Iceberg 테이블과 표준 BigQuery 테이블을 통해 Apache Iceberg와 같은 주요 오픈소스 테이블 형식을 지원합니다. 또한 BigLake metastore는 개방형 API와 Iceberg REST 카탈로그(프리뷰)를 지원합니다.
BigQuery 커스텀 Iceberg 카탈로그 플러그인을 사용하여 오픈소스 엔진(예: Spark)과의 BigLake metastore 통합을 살펴봅니다.
이점
BigLake metastore는 데이터 관리 및 분석에 다음과 같은 여러 이점을 제공합니다.
서버리스 아키텍처: BigLake metastore는 서버리스 아키텍처를 제공하므로 서버 또는 클러스터 관리가 필요하지 않습니다. 사용하면 운영 오버헤드가 줄어들고 배포가 간소화되며 수요에 따라 자동 확장할 수 있습니다.
엔진 상호 운용성: BigLake metastore는 오픈소스 엔진(예: Spark, Flink)과 BigQuery 전반에서 직접 테이블 액세스를 제공하므로 추가 구성 없이 개방형 형식 테이블을 쿼리할 수 있습니다. 예를 들어 Spark에서 테이블을 만든 다음 BigQuery에서 직접 쿼리할 수 있습니다. 이렇게 하면 분석 워크플로가 간소화되고 복잡한 데이터 이동 또는 ETL 프로세스가 필요하지 않습니다.
통합 사용자 환경: BigLake metastore는 BigQuery와 오픈소스 엔진 전반에서 통합 워크플로를 제공합니다. 이 통합 환경은 Iceberg REST 카탈로그(미리보기)를 통해 Dataproc에서 호스팅되거나 자체 호스팅되는 Spark 환경을 구성하거나 BigQuery Studio 노트북에서 Spark 환경을 구성하여 동일한 작업을 수행할 수 있음을 의미합니다.
예를 들어 BigQuery Studio에서는 BigQuery Studio 노트북을 사용하여 Spark에서 테이블을 만들 수 있습니다.
그런 다음Google Cloud 콘솔에서 동일한 Spark 테이블을 쿼리할 수 있습니다.
BigLake metastore의 테이블 형식
BigLake는 여러 테이블 유형을 지원합니다. 다음 표를 사용하여 사용 사례에 가장 적합한 형식을 선택하세요.
외부 테이블
BigLake Iceberg 테이블
BigQuery의 BigLake Iceberg 테이블
표준 BigQuery 테이블
metastore
외부 또는 자체 호스팅 metastore
BigLake metastore
BigLake metastore
BigLake metastore
스토리지
Cloud Storage / Amazon S3 / Azure
Cloud Storage
Cloud Storage
BigQuery
관리
고객 또는 서드 파티
Google
Google(고도의 관리형 환경)
Google(최고 수준의 관리형 환경)
읽기/쓰기
오픈소스 엔진(읽기/쓰기)
BigQuery(읽기 전용)
오픈소스 엔진(읽기/쓰기)
BigQuery(읽기 전용)
오픈소스 엔진(Iceberg 라이브러리를 사용한 읽기 전용, BigQuery Storage API와의 읽기/쓰기 상호 운용성)
BigQuery(읽기/쓰기)
오픈소스 엔진(BigQuery Storage API와의 읽기/쓰기 상호 운용성)
BigQuery(읽기/쓰기)
사용 사례
마이그레이션, BigQuery 로드를 위한 스테이징 테이블, 자체 관리
개방형 레이크하우스
개방형 레이크하우스, 분석, 스트리밍, AI를 위한 엔터프라이즈급 스토리지
분석, 스트리밍, AI를 위한 엔터프라이즈급 스토리지
BigLake metastore(기본)와의 차이점
BigLake metastore는 Google Cloud에서 권장되는 metastore입니다.
BigLake metastore와 BigLake metastore(기본)의 핵심 차이점은 다음과 같습니다.
BigLake metastore(기본)는 BigQuery와는 별개이며 Iceberg 테이블만 지원하는 독립형 metastore 서비스입니다. 세 부분으로 구성된 리소스 모델이 다릅니다.
BigLake metastore(기본) 테이블은 BigQuery에서 자동으로 검색되지 않습니다.
BigLake metastore의 테이블은 여러 오픈소스 엔진과 BigQuery에서 액세스할 수 있습니다. BigLake metastore는 Spark와의 직접 통합을 지원하므로 메타데이터를 저장하고 작업을 실행할 때 중복을 줄일 수 있습니다. BigLake metastore는 여러 런타임에서 레이크하우스 데이터를 연결하는 Iceberg REST 카탈로그(프리뷰)도 지원합니다.
제한사항
BigLake metastore의 테이블에는 다음 제한사항이 적용됩니다.
BigQuery 엔진을 사용하여 DDL 또는 DML 문으로 BigLake metastore 테이블을 만들거나 수정할 수 없습니다. BigQuery API(bq 명령줄 도구 또는 클라이언트 라이브러리 사용)를 사용하여 BigLake metastore 테이블을 수정할 수 있지만, 이렇게 하면 외부 엔진과 호환되지 않는 변경사항이 발생할 수 있습니다.
BigLake metastore 테이블은 이름 변경 작업 또는 ALTER TABLE ... RENAME TO Spark SQL 문을 지원하지 않습니다.
BigLake metastore 테이블에는 표준 테이블과 동일한 할당량 및 한도가 적용됩니다.
BigQuery 엔진에서 BigLake metastore 테이블의 쿼리 성능은 표준 BigQuery 테이블의 데이터를 쿼리할 때보다 느릴 수 있습니다. 일반적으로 BigLake metastore 테이블의 쿼리 성능은 Cloud Storage에서 직접 데이터를 읽을 때와 동일합니다.
BigLake metastore 테이블을 사용하는 쿼리의 테스트 실행은 행이 반환되더라도 0바이트의 하한 데이터를 보고할 수 있습니다. 이 결과는 실제 쿼리가 완료될 때까지 테이블에서 처리되는 데이터 양을 확인할 수 없기 때문에 발생합니다.
쿼리를 실행해도 이 데이터 처리 비용이 발생합니다.
와일드 카드 테이블 쿼리에서는 BigLake metastore 테이블을 참조할 수 없습니다.
tabledata.list 메서드를 사용하여 BigLake metastore 테이블에서 데이터를 가져올 수 없습니다. 대신 쿼리 결과를 대상 테이블에 저장한 다음 해당 테이블에서 tabledata.list 메서드를 사용할 수 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-26(UTC)"],[],[],null,["# Introduction to BigLake metastore\n=================================\n\nBigLake metastore is a unified, managed, serverless, and scalable metastore that\nconnects lakehouse data stored in Cloud Storage or BigQuery to\nmultiple runtimes, including open source runtimes (such as Apache Spark\nand Apache Flink) and BigQuery.\n\nBigLake metastore provides a single source of truth for managing metadata from\nmultiple engines. It supports key open source table formats, such as\nApache Iceberg, through BigLake Iceberg tables and\nstandard BigQuery tables. Additionally, BigLake metastore has\nsupport for open APIs and an\n[Iceberg REST catalog](/bigquery/docs/blms-rest-catalog)\n([Preview](/products#product-launch-stages)).\n\nUse the following table to help determine where to start your\nBigLake metastore journey:\n\nBenefits\n--------\n\nBigLake metastore offers several advantages for data management\nand analysis:\n\n- **Serverless architecture.** BigLake metastore provides a serverless architecture, eliminating the need for server or cluster management. This helps reduce operational overhead, simplifies deployment, and allows for automatic scaling based on demand.\n- **Engine interoperability.** BigLake metastore provides you with direct table access across open source engines (such as Spark and Flink) and BigQuery, allowing you to query open-format tables without additional configuration. For example, you can create a table in Spark and then query it directly in BigQuery. This helps streamline your analytics workflow and reduces the need for complex data movement or ETL processes.\n- **Unified user experience.** BigLake metastore provides a unified workflow across BigQuery and open source engines. This unified experience means you can configure a Spark environment that's self-hosted or hosted by Dataproc through the [Iceberg REST catalog](/bigquery/docs/blms-rest-catalog) ([Preview](/products#product-launch-stages)), or you can configure a Spark environment in a BigQuery Studio notebook to do the same thing.\n\nTable formats in BigLake metastore\n----------------------------------\n\nBigLake supports several table types. Use the following table to help\nselect the format that best fits your use case:\n\nDifferences with BigLake metastore (classic)\n--------------------------------------------\n\nBigLake metastore is the recommended metastore on Google Cloud.\n\nThe core differences between BigLake metastore and BigLake metastore (classic)\ninclude the following details:\n\n- BigLake metastore (classic) is a standalone metastore service that is distinct from BigQuery and only supports Iceberg tables. It has a different three-part resource model. BigLake metastore (classic) tables aren't automatically discovered from BigQuery.\n- Tables in BigLake metastore are accessible from multiple open source engines and BigQuery. BigLake metastore supports direct integration with Spark, which helps reduce redundancy when you store metadata and run jobs. BigLake metastore also supports the [Iceberg REST catalog](/bigquery/docs/blms-rest-catalog) ([Preview](/products#product-launch-stages)), which connects lakehouse data across multiple runtimes.\n\nLimitations\n-----------\n\nThe following limitations apply to tables in BigLake metastore:\n\n- You can't create or modify BigLake metastore tables with DDL or DML statements using the BigQuery engine. You can modify BigLake metastore tables using the BigQuery API (with the bq command-line tool or client libraries), but doing so risks making changes that are incompatible with the external engine.\n- BigLake metastore tables don't support [renaming operations](/bigquery/docs/managing-tables#renaming-table) or `ALTER TABLE ... RENAME TO` Spark SQL statements.\n- BigLake metastore tables are subject to the same [quotas and limits](/bigquery/quotas#standard_tables) as standard tables.\n- Query performance for BigLake metastore tables from the BigQuery engine might be slow compared to querying data in a standard BigQuery table. In general, the query performance for a BigLake metastore table should be equivalent to reading the data directly from Cloud Storage.\n- A [dry run](/bigquery/docs/running-queries#dry-run) of a query that uses a BigLake metastore table might report a lower bound of 0 bytes of data, even if rows are returned. This result occurs because the amount of data that is processed from the table can't be determined until the actual query completes. Running the query incurs a cost for processing this data.\n- You can't reference a BigLake metastore table in a [wildcard table](/bigquery/docs/querying-wildcard-tables) query.\n- You can't use the [`tabledata.list` method](/bigquery/docs/reference/rest/v2/tabledata/list) to retrieve data from BigLake metastore tables. Instead, you can save query results to a destination table, then use the `tabledata.list` method on that table.\n- BigLake metastore tables don't support [clustering](/bigquery/docs/clustered-tables).\n- BigLake metastore tables don't support [flexible column names](/bigquery/docs/schemas#flexible-column-names).\n- The display of table storage statistics for BigLake metastore tables isn't supported.\n- BigLake metastore doesn't support Iceberg views.\n\nWhat's next\n-----------\n\n- [Use BigLake metastore with Dataproc](/bigquery/docs/blms-use-dataproc)\n- [Use BigLake metastore with Dataproc Serverless](/bigquery/docs/blms-use-dataproc-serverless)"]]