테이블 쿼리

테이블을 쿼리하면 Lakehouse 런타임 카탈로그에서 관리하는 메타데이터를 사용하여 기본 Cloud Storage 파일에서 데이터를 읽습니다.

Spark, Trino와 같은 오픈소스 엔진에서 또는 4부 테이블 이름을 사용하여 BigQuery에서 직접 선택 쿼리를 실행할 수 있습니다.

시작하기 전에

표 개요를 참고하여 다양한 유형의 표와 표 사용의 영향을 알아보세요.

  1. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  2. BigLake API를 사용 설정합니다.

    API 사용 설정에 필요한 역할

    API를 사용 설정하려면 serviceusage.services.enable 권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기

    API 사용 설정

필요한 역할

테이블을 쿼리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트 및 스토리지 버킷에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 사용자 인증 정보 자동 판매 모드에서 테이블 데이터 읽기: BigLake 뷰어 (roles/biglake.viewer) - 프로젝트
  • 사용자 인증 정보 벤더 제공 모드가 아닌 모드에서 테이블 데이터를 읽습니다.
    • BigLake 뷰어 (roles/biglake.viewer) - 프로젝트
    • 스토리지 객체 뷰어 (roles/storage.objectViewer) - Cloud Storage 버킷

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

테이블 쿼리

표에서 모든 데이터를 선택합니다.

Spark

spark.sql("SELECT * FROM TABLE_NAME;").show()

Trino

SELECT * FROM TABLE_NAME;

BigQuery

BigQuery에서 Lakehouse Iceberg REST 카탈로그 테이블을 쿼리하려면 PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME 형식으로 쿼리에 4부분 테이블 이름을 사용하세요.

SELECT * FROM `PROJECT_NAME.BIGLAKE_CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME`;

다음 값을 바꿉니다.

  • PROJECT_NAME: Lakehouse 런타임 카탈로그에서 카탈로그를 소유하는Google Cloud 프로젝트입니다. Google Cloud 콘솔에서 선택한 Google Cloud 프로젝트에 쿼리 요금이 청구됩니다.

  • CATALOG_ID: 카탈로그가 생성될 때 지정된 Lakehouse 런타임 카탈로그의 ID입니다. 이 식별자는 BigQuery 쿼리에서 카탈로그 이름으로 사용됩니다.

    이 식별자는 Cloud Storage 버킷의 이름이기도 합니다.

    예를 들어 카탈로그를 저장하기 위해 버킷을 만들고 이름을 iceberg-bucket로 지정한 경우 카탈로그 이름과 버킷 이름이 모두 iceberg-bucket입니다. 이는 나중에 P.C.N.T 구문을 사용하여 BigQuery에서 카탈로그를 쿼리할 때 사용됩니다. 예: my-project.biglake_catalog_id.quickstart_namespace.quickstart_table

  • NAMESPACE_OR_SCHEMA_NAME: Spark를 사용하는 경우 테이블 네임스페이스, Trino를 사용하는 경우 테이블 스키마 이름입니다.

  • TABLE_NAME: 테이블의 이름

다음 단계