Apache Spark로 Apache Iceberg 관리 테이블 읽기

다음 섹션에서는 Apache Spark에서 Apache Iceberg 관리 테이블 (이하 Iceberg 관리 테이블)을 사용하여 관리 테이블을 읽는 방법을 설명합니다.

시작하기 전에

  • BigLake 테이블 개요에서 다양한 유형의 BigLake 테이블과 사용 시의 영향을 알아봅니다.

  • Apache Spark로 Iceberg 관리형 테이블을 읽기 전에 저장소 버킷에 클라우드 리소스 연결을 설정했는지 확인하세요. 연결에는 다음 필수 역할 섹션에 지정된 대로 저장소 버킷에 대한 쓰기 권한이 필요합니다. 연결에 필요한 역할 및 권한에 대한 자세한 내용은 연결 관리를 참고하세요.

필요한 역할

BigQuery에서 프로젝트의 테이블을 관리하도록 허용하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

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

이러한 사전 정의된 역할에는 BigQuery에서 프로젝트의 테이블을 관리하도록 허용하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

BigQuery에서 프로젝트의 테이블을 관리하도록 하려면 다음 권한이 필요합니다.

  • 프로젝트에 대한 bigquery.connections.delegate 권한
  • 프로젝트에 대한 bigquery.jobs.create 권한
  • 프로젝트에 대한 bigquery.readsessions.create 권한
  • 프로젝트에 대한 bigquery.tables.get 권한
  • 프로젝트에 대한 bigquery.tables.getData 권한
  • 버킷에 대한 storage.buckets.get 권한
  • 버킷에 대한 storage.objects.create 권한
  • 버킷에 대한 storage.objects.delete 권한
  • 버킷에 대한 storage.objects.get 권한
  • 버킷에 대한 storage.objects.list 권한

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

Apache Spark로 Iceberg 관리 테이블 읽기

다음 샘플은 Apache Iceberg에서 Spark SQL을 사용하도록 환경을 설정한 다음, 지정된 Iceberg 관리형 테이블에서 데이터를 가져오기 위한 쿼리를 실행합니다.

spark-sql \
  --packages org.apache.iceberg:iceberg-spark-runtime-ICEBERG_VERSION_NUMBER \
  --conf spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog \
  --conf spark.sql.catalog.CATALOG_NAME.type=hadoop \
  --conf spark.sql.catalog.CATALOG_NAME.warehouse='BUCKET_PATH' \

# Query the table
SELECT * FROM CATALOG_NAME.FOLDER_NAME;

다음을 바꿉니다.

  • ICEBERG_VERSION_NUMBER: Apache Spark Iceberg 런타임의 현재 버전. Spark 출시 버전에서 최신 버전을 다운로드하세요.
  • CATALOG_NAME: Iceberg 관리형 테이블을 참조할 카탈로그
  • BUCKET_PATH: 테이블 파일이 포함된 버킷의 경로. 예를 들면 gs://mybucket/입니다.
  • FOLDER_NAME: 테이블 파일이 포함된 폴더. 예를 들면 myfolder입니다.

다음 단계