Lakehouse API

Lakehouse API (이전 명칭: BigLake API)는 데이터 레이크하우스의 단일 정보 소스를 제공하는 서버리스 완전 관리형 고가용성 metastore에 대한 액세스를 제공합니다. Apache Spark, Google Managed Spark, Apache Flink, Trino, BigQuery를 비롯한 여러 엔진에서 주요 개방형 형식(Apache Iceberg, Apache Hive)의 테이블과 메타데이터를 공유하고 동일한 데이터 사본을 쿼리할 수 있습니다. 또한 Lakehouse 런타임 카탈로그 제휴를 통해 레이크하우스 생태계를 원활하게 통합하여 Google Cloud(BigQuery, Google Managed Spark)의 Iceberg 호환 엔진이 Snowflake, Databricks, AWS Glue 전반에서 엔터프라이즈 데이터를 탐색 및 분석할 수 있도록 지원합니다.

서비스: biglake.googleapis.com

이 서비스를 호출하려면 Google에서 제공하는 클라이언트 라이브러리를 사용하는 것이 좋습니다. 애플리케이션에서 자체 라이브러리를 사용하여 이 서비스를 호출해야 한다면 API 요청을 실행할 때 다음 정보를 사용해야 합니다.

탐색 문서

탐색 문서는 머신에서 읽을 수 있는 사양이며 REST API를 설명하고 사용하는 데 참고할 수 있습니다. 또한 클라이언트 라이브러리, IDE 플러그인, 기타 Google API와 상호작용하는 도구를 빌드하는 데 사용됩니다. 하나의 서비스는 여러 개의 탐색 문서를 제공할 수 있습니다. 이 서비스는 다음 탐색 문서를 제공합니다.

서비스 엔드포인트

서비스 엔드포인트는 API 서비스의 네트워크 주소를 지정하는 기준 URL입니다. 하나의 서비스는 여러 서비스 엔드포인트를 포함할 수 있습니다. 이 서비스에는 다음 서비스 엔드포인트가 포함되고, 그 아래의 모든 URI가 이 서비스 엔드포인트와 관련됩니다.

  • https://biglake.googleapis.com

리전 서비스 엔드포인트

리전 서비스 엔드포인트는 단일 리전의 API 서비스 네트워크 주소를 지정하는 기준 URL입니다. 여러 리전에서 사용할 수 있는 서비스에는 여러 리전 엔드포인트가 있을 수 있습니다. 해당 서비스의 리전별 서비스 엔드포인트를 보려면 위치를 선택하세요.


  • https://biglake.googleapis.com
  • REST 리소스: dataproductsharing.v1.projects.catalogs

    메서드
    publishDataProduct POST /dataproductsharing/v1/{connectionCatalog=projects/*/catalogs/*}:publishDataProduct
    Knowledge Catalog 데이터 제품 또는 Iceberg 카탈로그를 SAP BDC에 게시합니다.
    unpublishDataProduct POST /dataproductsharing/v1/{connectionCatalog=projects/*/catalogs/*}:unpublishDataProduct
    SAP BDC에서 Knowledge Catalog 데이터 제품 또는 Iceberg 카탈로그 공유를 게시 취소합니다.

    REST 리소스: deltasharing.v1.projects.catalogs

    메서드
    create POST /deltasharing/v1/{parent=projects/*}/catalogs
    새 DeltaSharing 카탈로그를 만듭니다.
    delete DELETE /deltasharing/v1/{name=projects/*/catalogs/*}
    리소스 이름으로 지정된 기존 DeltaSharing 카탈로그를 삭제합니다.
    get GET /deltasharing/v1/{name=projects/*/catalogs/*}
    리소스 이름으로 지정된 카탈로그를 가져옵니다.
    list GET /deltasharing/v1/{parent=projects/*}/catalogs
    지정된 프로젝트의 모든 DeltaSharing 카탈로그를 나열합니다.
    patch PATCH /deltasharing/v1/{deltaSharingCatalog.name=projects/*/catalogs/*}
    기존 DeltaSharing 카탈로그를 업데이트합니다.

    REST 리소스: deltasharing.v1.projects.catalogs.shares

    메서드
    list GET /deltasharing/v1/{parent=projects/*/catalogs/*}/shares
    업스트림 Delta Sharing 소스 (예: SAP BDC)에서 사용할 수 있는 Delta Sharing 공유 목록을 가져옵니다.

    REST 리소스: deltasharing.v1.projects.catalogs.shares.schemas

    메서드
    list GET /deltasharing/v1/{parent=projects/*/catalogs/*/shares/*}/schemas
    업스트림 SAP BDC 소스에서 사용 가능한 Delta Sharing 스키마 목록을 가져옵니다.

    REST 리소스: deltasharing.v1.projects.catalogs.shares.schemas.tables

    메서드
    list GET /deltasharing/v1/{parent=projects/*/catalogs/*/shares/*/schemas/*}/tables
    업스트림 SAP BDC 소스에서 사용할 수 있는 Delta Sharing 테이블 목록을 가져옵니다.

    REST 리소스: hive.v1.projects.catalogs

    메서드
    create POST /hive/v1/{parent=projects/*}/catalogs
    새 Hive 카탈로그를 만듭니다.
    delete DELETE /hive/v1/{name=projects/*/catalogs/*}
    카탈로그 ID로 지정된 기존 카탈로그를 삭제합니다.
    failover POST /hive/v1/{name=projects/*/catalogs/*}:failover
    카탈로그를 새 기본 복제본 리전으로 장애 조치합니다.
    get GET /hive/v1/{name=projects/*/catalogs/*}
    리소스 이름으로 지정된 카탈로그를 가져옵니다.
    list GET /hive/v1/{parent=projects/*}/catalogs
    지정된 프로젝트의 모든 카탈로그를 나열합니다.
    patch PATCH /hive/v1/{hiveCatalog.name=projects/*/catalogs/*}
    기존 카탈로그를 업데이트합니다.

    REST 리소스: hive.v1.projects.catalogs.databases

    메서드
    create POST /hive/v1/{parent=projects/*/catalogs/*}/databases
    새 데이터베이스를 만듭니다.
    delete DELETE /hive/v1/{name=projects/*/catalogs/*/databases/*}
    데이터베이스 이름으로 지정된 기존 데이터베이스를 삭제합니다.
    get GET /hive/v1/{name=projects/*/catalogs/*/databases/*}
    리소스 이름으로 지정된 데이터베이스를 가져옵니다.
    list GET /hive/v1/{parent=projects/*/catalogs/*}/databases
    지정된 카탈로그의 모든 데이터베이스를 나열합니다.
    patch PATCH /hive/v1/{hiveDatabase.name=projects/*/catalogs/*/databases/*}
    데이터베이스 이름으로 지정된 기존 데이터베이스를 업데이트합니다.

    REST 리소스: hive.v1.projects.catalogs.databases.tables

    메서드
    create POST /hive/v1/{parent=projects/*/catalogs/*/databases/*}/tables
    새 Hive 테이블을 만듭니다.
    delete DELETE /hive/v1/{name=projects/*/catalogs/*/databases/*/tables/*}
    테이블 이름으로 지정된 기존 테이블을 삭제합니다.
    get GET /hive/v1/{name=projects/*/catalogs/*/databases/*/tables/*}
    리소스 이름으로 지정된 테이블을 가져옵니다.
    list GET /hive/v1/{parent=projects/*/catalogs/*/databases/*}/tables
    Hive 카탈로그 및 데이터베이스 아래의 지정된 프로젝트에 있는 모든 Hive 테이블을 나열합니다.
    patch PATCH /hive/v1/{hiveTable.name=projects/*/catalogs/*/databases/*/tables/*}
    테이블 이름으로 지정된 기존 테이블을 업데이트합니다.

    REST 리소스: hive.v1.projects.catalogs.databases.tables.partitions

    메서드
    batchCreate POST /hive/v1/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchCreate
    테이블에 파티션을 추가합니다.
    batchDelete POST /hive/v1/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchDelete
    테이블에서 파티션을 삭제합니다.
    batchUpdate POST /hive/v1/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchUpdate
    테이블의 파티션을 업데이트합니다.
    list GET /hive/v1/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:list
    테이블에서 파티션 목록을 스트리밍합니다.

    REST 리소스: iceberg.v1.restcatalog.extensions.projects.catalogs

    메서드
    create POST /iceberg/v1/restcatalog/extensions/{parent=projects/*}/catalogs
    Iceberg REST 카탈로그를 만듭니다.
    delete DELETE /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}
    Iceberg REST 카탈로그를 삭제합니다.
    failover POST /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}:failover
    카탈로그를 새 기본 복제본 리전으로 장애 조치합니다.
    get GET /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}
    Iceberg REST 카탈로그 구성 옵션을 반환합니다.
    list GET /iceberg/v1/restcatalog/extensions/{parent=projects/*}/catalogs
    Iceberg REST 카탈로그를 나열합니다.
    patch PATCH /iceberg/v1/restcatalog/extensions/{icebergCatalog.name=projects/*/catalogs/*}
    Iceberg REST 카탈로그 구성 옵션을 업데이트합니다.

    REST 리소스: iceberg.v1.restcatalog.v1

    메서드
    getConfig GET /iceberg/v1/restcatalog/v1/config
    GetIcebergCatalogConfig는 모든 카탈로그 구성 설정을 나열합니다.

    REST 리소스: iceberg.v1.restcatalog.v1.projects.catalogs.namespaces

    메서드
    create POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*}/namespaces
    카탈로그에 네임스페이스를 만듭니다.
    delete DELETE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    성공 시 200이 아닌 204를 반환합니다.
    get GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    카탈로그에서 Iceberg 네임스페이스를 가져옵니다 (또는 메서드가 HEAD인 경우 존재하는지 확인).
    head NONE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    네임스페이스가 있으면 204를 반환하고, 그렇지 않으면 404를 반환합니다.
    list GET /iceberg/v1/restcatalog/v1/{apiParent=projects/*/catalogs/*}/namespaces
    카탈로그의 Iceberg 네임스페이스를 나열합니다.
    properties POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
    네임스페이스 속성을 업데이트합니다.
    register POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/register
    제공된 메타데이터 파일 위치를 사용하여 테이블을 등록합니다.
    updateProperties PATCH /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
    네임스페이스 속성을 업데이트합니다.

    REST 리소스: iceberg.v1.restcatalog.v1.projects.catalogs.namespaces.tables

    메서드
    create POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
    네임스페이스에 테이블을 만듭니다.
    credentials GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}/credentials
    네임스페이스의 테이블 사용자 인증 정보를 로드합니다.
    delete DELETE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    네임스페이스의 테이블을 삭제합니다.
    get GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    네임스페이스에서 테이블을 가져옵니다.
    head NONE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    테이블이 있으면 204를 반환하고, 그렇지 않으면 404를 반환합니다.
    list GET /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
    네임스페이스의 테이블 식별자 (테이블 아님)를 나열합니다.
    metrics POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}/metrics
    표의 측정항목 보고서를 보고합니다.
    updateIcebergTable POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    이는 Google API 명명법에서 UpdateIcebergTable에 매핑되는 CommitTable Iceberg API입니다.

    REST 리소스: v1.projects.catalogs

    메서드
    getIamPolicy GET /v1/{resource=projects/*/catalogs/*}:getIamPolicy
    지정된 카탈로그의 IAM 정책을 가져옵니다.
    setIamPolicy POST /v1/{resource=projects/*/catalogs/*}:setIamPolicy
    지정된 카탈로그의 IAM 정책을 설정합니다.
    testIamPermissions POST /v1/{resource=projects/*/catalogs/*}:testIamPermissions
    지정된 카탈로그의 IAM 권한을 테스트합니다.

    REST 리소스: v1.projects.catalogs.namespaces

    메서드
    getIamPolicy GET /v1/{resource=projects/*/catalogs/*/namespaces/*}:getIamPolicy
    지정된 카탈로그의 IAM 정책을 가져옵니다.
    setIamPolicy POST /v1/{resource=projects/*/catalogs/*/namespaces/*}:setIamPolicy
    지정된 카탈로그의 IAM 정책을 설정합니다.
    testIamPermissions POST /v1/{resource=projects/*/catalogs/*/namespaces/*}:testIamPermissions
    지정된 네임스페이스의 IAM 권한을 테스트합니다.

    REST 리소스: v1.projects.catalogs.namespaces.tables

    메서드
    getIamPolicy GET /v1/{resource=projects/*/catalogs/*/namespaces/*/tables/*}:getIamPolicy
    지정된 카탈로그의 IAM 정책을 가져옵니다.
    setIamPolicy POST /v1/{resource=projects/*/catalogs/*/namespaces/*/tables/*}:setIamPolicy
    지정된 카탈로그의 IAM 정책을 설정합니다.
    testIamPermissions POST /v1/{resource=projects/*/catalogs/*/namespaces/*/tables/*}:testIamPermissions
    지정된 테이블의 IAM 권한을 테스트합니다.

    REST 리소스: v1.projects.catalogs.namespaces.views

    메서드
    getIamPolicy GET /v1/{resource=projects/*/catalogs/*/namespaces/*/views/*}:getIamPolicy
    지정된 뷰의 IAM 정책을 가져옵니다.
    setIamPolicy POST /v1/{resource=projects/*/catalogs/*/namespaces/*/views/*}:setIamPolicy
    지정된 뷰의 IAM 정책을 설정합니다.
    testIamPermissions POST /v1/{resource=projects/*/catalogs/*/namespaces/*/views/*}:testIamPermissions
    지정된 뷰의 IAM 권한을 테스트합니다.

    REST 리소스: v1.projects.locations.catalogs

    메서드
    create POST /v1/{parent=projects/*/locations/*}/catalogs
    새 카탈로그를 만듭니다.
    delete DELETE /v1/{name=projects/*/locations/*/catalogs/*}
    카탈로그 ID로 지정된 기존 카탈로그를 삭제합니다.
    get GET /v1/{name=projects/*/locations/*/catalogs/*}
    리소스 이름으로 지정된 카탈로그를 가져옵니다.
    list GET /v1/{parent=projects/*/locations/*}/catalogs
    지정된 프로젝트의 모든 카탈로그를 나열합니다.

    REST 리소스: v1.projects.locations.catalogs.databases

    메서드
    create POST /v1/{parent=projects/*/locations/*/catalogs/*}/databases
    새 데이터베이스를 만듭니다.
    delete DELETE /v1/{name=projects/*/locations/*/catalogs/*/databases/*}
    데이터베이스 ID로 지정된 기존 데이터베이스를 삭제합니다.
    get GET /v1/{name=projects/*/locations/*/catalogs/*/databases/*}
    리소스 이름으로 지정된 데이터베이스를 가져옵니다.
    list GET /v1/{parent=projects/*/locations/*/catalogs/*}/databases
    지정된 카탈로그의 모든 데이터베이스를 나열합니다.
    patch PATCH /v1/{database.name=projects/*/locations/*/catalogs/*/databases/*}
    데이터베이스 ID로 지정된 기존 데이터베이스를 업데이트합니다.

    REST 리소스: v1.projects.locations.catalogs.databases.tables

    메서드
    create POST /v1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables
    새 테이블을 만듭니다.
    delete DELETE /v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
    테이블 ID로 지정된 기존 테이블을 삭제합니다.
    get GET /v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
    리소스 이름으로 지정된 테이블을 가져옵니다.
    list GET /v1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables
    지정된 데이터베이스의 모든 테이블을 나열합니다.
    patch PATCH /v1/{table.name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
    표 ID로 지정된 기존 표를 업데이트합니다.
    rename POST /v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}:rename
    테이블 ID로 지정된 기존 테이블의 이름을 바꿉니다.