이 문서에서는 Dataproc Jobs 서비스, Spark SQL CLI 또는 Dataproc 클러스터에서 실행되는 Zeppelin 웹 인터페이스를 사용하여 BigQuery Metastore에 메타데이터가 포함된 Apache Iceberg 테이블을 만드는 방법을 보여줍니다.
시작하기 전에
아직 만들지 않았다면 Google Cloud 프로젝트, Cloud Storage 버킷, Dataproc 클러스터를 만듭니다.
프로젝트 설정
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, BigQuery, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, BigQuery, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
프로젝트에 Cloud Storage 버킷을 만듭니다.
- In the Google Cloud console, go to the Cloud Storage Buckets page.
- Click Create bucket.
- On the Create a bucket page, enter your bucket information. To go to the next
step, click Continue.
- For Name your bucket, enter a name that meets the bucket naming requirements.
-
For Choose where to store your data, do the following:
- Select a Location type option.
- Select a Location option.
- For Choose a default storage class for your data, select a storage class.
- For Choose how to control access to objects, select an Access control option.
- For Advanced settings (optional), specify an encryption method, a retention policy, or bucket labels.
- Click Create.
Dataproc 클러스터 만들기. 리소스와 비용을 절약하려면 단일 노드 Dataproc 클러스터를 만들어 이 문서에 나온 예시를 실행할 수 있습니다.
클러스터가 생성된 리전의 서브넷에 비공개 Google 액세스 (PGA)가 사용 설정되어 있어야 합니다.
이 가이드의 Zeppelin 웹 인터페이스 예시를 실행하려면 Zeppelin 선택적 구성요소가 사용 설정된 Dataproc 클러스터를 사용하거나 만들어야 합니다.
맞춤 서비스 계정에 역할 부여 (필요한 경우): 기본적으로 Dataproc 클러스터 VM은 Compute Engine 기본 서비스 계정을 사용하여 Dataproc과 상호작용합니다. 클러스터를 만들 때 커스텀 서비스 계정을 지정하려면 해당 계정에 Dataproc Worker 역할 (
roles/dataproc.worker
) 역할 또는 필요한 Worker 역할 권한이 있는 맞춤 역할이 있어야 합니다.
OSS 데이터베이스와 BigQuery 데이터 세트 매핑
오픈소스 데이터베이스와 BigQuery 데이터 세트 용어 간의 다음 매핑을 참고하세요.
OSS 데이터베이스 | BigQuery 데이터 세트 |
---|---|
네임스페이스, 데이터베이스 | 데이터 세트 |
파티션을 나눈 테이블 또는 파티션을 나누지 않은 테이블 | 표 |
보기 | 보기 |
Iceberg 테이블 만들기
이 섹션에서는 Dataproc 클러스터에서 실행되는 Dataproc 서비스, Spark SQL CLI, Zeppelin 구성요소 웹 인터페이스에 Spark SQL 코드를 제출하여 BigQuery Metastore에 메타데이터가 포함된 Iceberg 테이블을 만드는 방법을 보여줍니다.
Dataproc 작업
Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 Dataproc 클러스터에 작업을 제출하거나 HTTP REST 요청 또는 프로그래매틱 gRPC Dataproc Cloud 클라이언트 라이브러리 호출을 통해 Dataproc Jobs API에 작업을 제출하여 Dataproc 서비스에 작업을 제출할 수 있습니다.
이 섹션의 예에서는 Dataproc 서비스에 Dataproc Spark SQL 작업을 제출하여 gcloud CLI, Google Cloud 콘솔 또는 Dataproc REST API를 사용하여 BigQuery에 메타데이터가 포함된 Iceberg 테이블을 만드는 방법을 보여줍니다.
작업 파일 준비
Spark SQL 작업 파일을 만들려면 다음 단계를 따르세요. 이 파일에는 Iceberg 테이블을 만들고 업데이트하는 Spark SQL 명령어가 포함되어 있습니다.
로컬 터미널 창 또는 Cloud Shell에서
vi
또는nano
과 같은 텍스트 편집기를 사용하여 다음 명령어를iceberg-table.sql
파일에 복사한 후 파일을 현재 디렉터리에 저장합니다.USE CATALOG_NAME; CREATE NAMESPACE IF NOT EXISTS example_namespace; USE example_namespace; DROP TABLE IF EXISTS example_table; CREATE TABLE example_table (id int, data string) USING ICEBERG LOCATION 'gs://BUCKET/WAREHOUSE_FOLDER'; INSERT INTO example_table VALUES (1, 'first row'); ALTER TABLE example_table ADD COLUMNS (newDoubleCol double); DESCRIBE TABLE example_table;
다음을 바꿉니다.
- CATALOG_NAME: Iceberg 카탈로그 이름입니다.
- BUCKET 및 WAREHOUSE_FOLDER: Iceberg 창고에 사용되는 Cloud Storage 버킷 및 폴더입니다.
gsutil
도구를 사용하여 로컬iceberg-table.sql
를 Cloud Storage의 버킷에 복사합니다.gsutil cp iceberg-table.sql gs://BUCKET/
그런 다음 iceberg-spark-runtime-3.5_2.12-1.5.2
JAR 파일을 다운로드하여 Cloud Storage에 복사합니다.
로컬 터미널 창 또는 Cloud Shell에서 다음
curl
명령어를 실행하여iceberg-spark-runtime-3.5_2.12-1.5.2
JAR 파일을 현재 디렉터리에 다운로드합니다.curl -o iceberg-spark-runtime-3.5_2.12-1.5.2.jar https://storage-download.googleapis.com/maven-central/maven2/org/apache/iceberg/iceberg-spark-runtime-3.5_2.12/1.5.2/iceberg-spark-runtime-3.5_2.12-1.5.2.jar
gsutil
도구를 사용하여 현재 디렉터리의 로컬iceberg-spark-runtime-3.5_2.12-1.5.2
JAR 파일을 Cloud Storage의 버킷에 복사합니다.gsutil cp iceberg-spark-runtime-3.5_2.12-1.5.2.jar gs://BUCKET/
Spark SQL 작업 제출
탭을 선택하여 gcloud CLI,Google Cloud 콘솔 또는 Dataproc REST API를 사용하여 Spark SQL 작업을 Dataproc 서비스에 제출하는 안내를 따릅니다.
gcloud
로컬 터미널 창 또는 Cloud Shell에서 다음 gcloud dataproc jobs submit spark-sql 명령어를 로컬로 실행하여 Spark SQL 작업을 제출하여 Iceberg 테이블을 만듭니다.
gcloud dataproc jobs submit spark-sql \ --project=PROJECT_ID \ --cluster=CLUSTER_NAME \ --region=REGION \ --jars="gs://BUCKET/1.5.2/iceberg-spark-runtime-3.5_2.12-1.5.2.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.5.2-1.0.0-beta.jar" \ --properties="spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog,spark.sql.catalog.CATALOG_NAME.catalog-impl=org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog,spark.sql.catalog.CATALOG_NAME.gcp_project=PROJECT_ID,spark.sql.catalog.CATALOG_NAME.gcp_location=LOCATION,spark.sql.catalog.CATALOG_NAME.warehouse=gs://BUCKET/WAREHOUSE_FOLDER" \ -f="gs://BUCKETiceberg-table.sql"
참고:
- PROJECT_ID: Google Cloud 프로젝트 ID입니다. 프로젝트 ID는 Google Cloud 콘솔 대시보드의 프로젝트 정보 섹션에 나열됩니다.
- CLUSTER_NAME: Dataproc 클러스터의 이름입니다.
- REGION: 클러스터가 있는 Compute Engine 리전입니다.
- CATALOG_NAME: Iceberg 카탈로그 이름입니다.
- BUCKET 및 WAREHOUSE_FOLDER: Iceberg 창고에 사용되는 Cloud Storage 버킷 및 폴더입니다.
- LOCATION: 지원되는 BigQuery 위치입니다. 기본 위치는 '미국'입니다.
--jars
: 나열된 jar는 BigQuery Metastore에서 테이블 메타데이터를 만드는 데 필요합니다.--properties
: 카탈로그 속성-f
: Cloud Storage의 버킷에 복사한iceberg-table.sql
작업 파일입니다.
작업이 완료되면 터미널 출력에서 테이블 설명을 확인합니다.
Time taken: 2.194 seconds id int data string newDoubleCol double Time taken: 1.479 seconds, Fetched 3 row(s) Job JOB_ID finished successfully.
BigQuery에서 테이블 메타데이터 보기
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
Iceberg 테이블 메타데이터를 봅니다.
콘솔
다음 단계에 따라 Google Cloud 콘솔을 사용하여 Spark SQL 작업을 Dataproc 서비스에 제출하여 BigQuery Metastore에 메타데이터가 포함된 Iceberg 테이블을 만듭니다.
Google Cloud 콘솔에서 Dataproc 작업 제출로 이동합니다.
작업 제출로 이동 페이지로 이동한 후 다음 입력란을 작성합니다.
- 작업 ID: 추천 ID를 수락하거나 자체 ID를 삽입합니다.
- 리전: 클러스터가 위치한 리전을 선택합니다.
- 클러스터: 클러스터를 선택합니다.
- 작업 유형:
SparkSql
를 선택합니다. - 쿼리 소스 유형:
Query file
를 선택합니다. - 쿼리 파일:
gs://BUCKET/iceberg-table.sql
삽입 - Jar 파일: 다음을 삽입합니다.
gs://BUCKET/iceberg-spark-runtime-3.5_2.12-1.5.2.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.5.2-1.0.0-beta.jar
- 속성:
key
value
입력란 5개 목록을 만든 다음 다음 키 및 값 쌍을 복사하여 5개의 속성을 정의합니다.# 키 값 1. spark.sql.catalog.CATALOG_NAME
org.apache.iceberg.spark.SparkCatalog
2. spark.sql.catalog.CATALOG_NAME.catalog-impl
org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog
3. spark.sql.catalog.CATALOG_NAME.gcp_project
PROJECT_ID
4. spark.sql.catalog.CATALOG_NAME.gcp_location
LOCATION
5. spark.sql.catalog.CATALOG_NAME.warehouse
gs://BUCKET/WAREHOUSE_FOLDER
속성 추가를 5번 클릭하여
참고:
- CATALOG_NAME: Iceberg 카탈로그 이름입니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다. 프로젝트 ID는 Google Cloud 콘솔 대시보드의 프로젝트 정보 섹션에 나열됩니다. 클러스터가 있는 지역
- LOCATION: 지원되는 BigQuery 위치입니다. 기본 위치는 '미국'입니다.
- BUCKET 및 WAREHOUSE_FOLDER: Iceberg 창고에 사용되는 Cloud Storage 버킷 및 폴더입니다.
제출을 클릭합니다.
작업 진행 상황을 모니터링하고 작업 출력을 보려면 Google Cloud 콘솔에서 Dataproc 작업 페이지로 이동한 다음
Job ID
아이콘을 클릭하여 작업 세부정보 페이지를 엽니다.BigQuery에서 테이블 메타데이터 보기
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
Iceberg 테이블 메타데이터를 봅니다.
REST
Dataproc jobs.submit API를 사용하여 Spark SQL 작업을 Dataproc 서비스에 제출하여 BigQuery Metastore에 메타데이터가 포함된 Iceberg 테이블을 만들 수 있습니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다. 프로젝트 ID는 Google Cloud 콘솔 대시보드의 프로젝트 정보 섹션에 나열됩니다.
- CLUSTER_NAME: Dataproc 클러스터의 이름입니다.
- REGION: 클러스터가 있는 Compute Engine 리전입니다.
- CATALOG_NAME: Iceberg 카탈로그 이름입니다.
- BUCKET 및 WAREHOUSE_FOLDER: Iceberg 창고에 사용되는 Cloud Storage 버킷 및 폴더입니다. LOCATION: 지원되는 BigQuery 위치입니다. 기본 위치는 '미국'입니다.
jarFileUris
: 나열된 jar는 BigQuery Metastore에서 테이블 메타데이터를 만드는 데 필요합니다.properties
: 카탈로그 속성queryFileUri
: Cloud Storage의 버킷에 복사한iceberg-table.sql
작업 파일입니다.
HTTP 메서드 및 URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/jobs:submit
JSON 요청 본문:
{ "projectId": "PROJECT_ID", "job": { "placement": { "clusterName": "CLUSTER_NAME" }, "statusHistory": [], "reference": { "jobId": "", "projectId": "PROJECT_ID" }, "sparkSqlJob": { "properties": { "spark.sql.catalog."CATALOG_NAME": "org.apache.iceberg.spark.SparkCatalog", "spark.sql.catalog."CATALOG_NAME".catalog-impl": "org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog", "spark.sql.catalog."CATALOG_NAME".gcp_project": "PROJECT_ID", "spark.sql.catalog."CATALOG_NAME".gcp_location": "LOCATION", "spark.sql.catalog."CATALOG_NAME".warehouse": "gs://BUCKET/WAREHOUSE_FOLDER" }, "jarFileUris": [ "gs://BUCKET/iceberg-spark-runtime-3.5_2.12-1.5.2.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.5.2-1.0.0-beta.jar" ], "scriptVariables": {}, "queryFileUri": "gs://BUCKET/iceberg-table.sql" } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "reference": { "projectId": "PROJECT_ID", "jobId": "..." }, "placement": { "clusterName": "CLUSTER_NAME", "clusterUuid": "..." }, "status": { "state": "PENDING", "stateStartTime": "..." }, "submittedBy": "USER", "sparkSqlJob": { "queryFileUri": "gs://BUCKET/iceberg-table.sql", "properties": { "spark.sql.catalog.USER_catalog": "org.apache.iceberg.spark.SparkCatalog", "spark.sql.catalog.USER_catalog.catalog-impl": "org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog", "spark.sql.catalog.USER_catalog.gcp_project": "PROJECT_ID", "spark.sql.catalog.USER_catalog.gcp_location": "LOCATION", "spark.sql.catalog.USER_catalog.warehouse": "gs://BUCKET/WAREHOUSE_FOLDER" }, "jarFileUris": [ "gs://BUCKET/iceberg-spark-runtime-3.5_2.12-1.5.2.jar", "gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.5.2-1.0.0-beta.jar" ] }, "driverControlFilesUri": "gs://dataproc-...", "driverOutputResourceUri": "gs://dataproc-.../driveroutput", "jobUuid": "...", "region": "REGION" }
작업 진행 상황을 모니터링하고 작업 출력을 보려면 Google Cloud 콘솔에서 Dataproc 작업 페이지로 이동한 다음 Job ID
아이콘을 클릭하여 작업 세부정보 페이지를 엽니다.
BigQuery에서 테이블 메타데이터 보기
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
Iceberg 테이블 메타데이터를 봅니다.
Spark SQL CLI
다음 단계에서는 Dataproc 클러스터의 마스터 노드에서 실행되는 Spark SQL CLI를 사용하여 BigQuery Metastore에 저장된 테이블 메타데이터가 포함된 Iceberg 테이블을 만드는 방법을 보여줍니다.
SSH를 사용하여 Dataproc 클러스터의 마스터 노드에 연결합니다.
SSH 세션 터미널에서
vi
또는nano
텍스트 편집기를 사용하여 다음 명령어를iceberg-table.sql
파일에 복사합니다.SET CATALOG_NAME = `CATALOG_NAME`; SET BUCKET = `BUCKET`; SET WAREHOUSE_FOLDER = `WAREHOUSE_FOLDER`; USE `${CATALOG_NAME}`; CREATE NAMESPACE IF NOT EXISTS `${CATALOG_NAME}`.example_namespace; DROP TABLE IF EXISTS `${CATALOG_NAME}`.example_namespace.example_table; CREATE TABLE `${CATALOG_NAME}`.example_namespace.example_table (id int, data string) USING ICEBERG LOCATION 'gs://`${BUCKET}`/`${WAREHOUSE_FOLDER}`'; INSERT INTO `${CATALOG_NAME}`.example_namespace.example_table VALUES (1, 'first row'); ALTER TABLE `${CATALOG_NAME}`.example_namespace.example_table ADD COLUMNS (newDoubleCol double); DESCRIBE TABLE `${CATALOG_NAME}`.example_namespace.example_table;
다음을 바꿉니다.
- CATALOG_NAME: Iceberg 카탈로그 이름입니다.
- BUCKET 및 WAREHOUSE_FOLDER: Iceberg 창고에 사용되는 Cloud Storage 버킷 및 폴더입니다.
SSH 세션 터미널에서 다음
spark-sql
명령어를 실행하여 아이스버그 테이블을 만듭니다.spark-sql \ --packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.5.2 \ --jars https://storage-download.googleapis.com/maven-central/maven2/org/apache/iceberg/iceberg-spark-runtime-3.5_2.12/1.5.2/iceberg-spark-runtime-3.5_2.12-1.5.2.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.5.2-1.0.0-beta.jar \ --conf spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.CATALOG_NAME.catalog-impl=org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog \ --conf spark.sql.catalog.CATALOG_NAME.gcp_project=PROJECT_ID \ --conf spark.sql.catalog.CATALOG_NAME.gcp_location=LOCATION \ --conf spark.sql.catalog.CATALOG_NAME.warehouse=gs://BUCKET/WAREHOUSE_FOLDER \ -f iceberg-table.sql
다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다. 프로젝트 ID는 Google Cloud 콘솔 대시보드의 프로젝트 정보 섹션에 나열됩니다.
- LOCATION: 지원되는 BigQuery 위치입니다. 기본 위치는 '미국'입니다.
BigQuery에서 테이블 메타데이터 보기
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
Iceberg 테이블 메타데이터를 봅니다.
Zeppelin 웹 인터페이스
다음 단계에서는 Dataproc 클러스터의 마스터 노드에서 실행되는 Zeppelin 웹 인터페이스를 사용하여 BigQuery Metastore에 저장된 테이블 메타데이터가 포함된 Iceberg 테이블을 만드는 방법을 보여줍니다 .
Google Cloud 콘솔에서 Dataproc 클러스터 페이지로 이동합니다.
클러스터 이름을 선택하여 클러스터 세부정보 페이지를 엽니다.
웹 인터페이스 탭을 클릭하여 클러스터에 설치된 기본 및 선택적 구성요소의 웹 인터페이스에 대한 구성요소 게이트웨이 링크 목록을 표시합니다.
Zeppelin 링크를 클릭하여 Zeppelin 웹 인터페이스를 엽니다.
Zeppelin 웹 인터페이스에서 익명 메뉴를 클릭한 다음 해석기를 클릭하여 해석기 페이지를 엽니다.
다음과 같이 Zeppelin Spark 인터프리터에 두 개의 jar를 추가합니다.
Search interpreters
상자에 'Spark'를 입력하여 Spark 인터프리터 섹션으로 스크롤합니다.- edit를 클릭합니다.
spark.jars 필드에 다음을 붙여넣습니다.
https://storage-download.googleapis.com/maven-central/maven2/org/apache/iceberg/iceberg-spark-runtime-3.5_2.12/1.5.2/iceberg-spark-runtime-3.5_2.12-1.5.2.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.5.2-1.0.0-beta.jar
Spark 인터프리터 섹션 하단의 저장을 클릭한 다음 확인을 클릭하여 인터프리터를 업데이트하고 새 설정으로 Spark 인터프리터를 다시 시작합니다.
Zeppelin 노트북 메뉴에서 새 메모 만들기를 클릭합니다.
새 메모 만들기 대화상자에서 노트북 이름을 입력하고 기본 spark 인터프리터를 수락합니다. 만들기를 클릭하여 노트북을 엽니다.
변수를 채운 후 다음 PySpark 코드를 Zeppelin 노트북에 복사합니다.
%pyspark
from pyspark.sql import SparkSession
project_id = "PROJECT_ID" catalog = "CATALOG_NAME" namespace = "NAMESPACE" location = "LOCATION" warehouse_dir = "gs://BUCKET/WAREHOUSE_DIRECTORY"
spark = SparkSession.builder \ .appName("BigQuery Metastore Iceberg") \ .config(f"spark.sql.catalog.{catalog}", "org.apache.iceberg.spark.SparkCatalog") \ .config(f"spark.sql.catalog.{catalog}.catalog-impl", "org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog") \ .config(f"spark.sql.catalog.{catalog}.gcp_project", f"{project_id}") \ .config(f"spark.sql.catalog.{catalog}.gcp_location", f"{location}") \ .config(f"spark.sql.catalog.{catalog}.warehouse", f"{warehouse_dir}") \ .getOrCreate()
spark.sql(f"USE `{catalog}`;") spark.sql(f"CREATE NAMESPACE IF NOT EXISTS `{namespace}`;") spark.sql(f"USE `{namespace}`;")
\# Create table and display schema (without LOCATION) spark.sql("DROP TABLE IF EXISTS example_iceberg_table") spark.sql("CREATE TABLE example_iceberg_table (id int, data string) USING ICEBERG") spark.sql("DESCRIBE example_iceberg_table;")
\# Insert table data. spark.sql("INSERT INTO example_iceberg_table VALUES (1, 'first row');")
\# Alter table, then display schema. spark.sql("ALTER TABLE example_iceberg_table ADD COLUMNS (newDoubleCol double);")
\# Select and display the contents of the table. spark.sql("SELECT * FROM example_iceberg_table").show()다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다. 프로젝트 ID는 Google Cloud 콘솔 대시보드의 프로젝트 정보 섹션에 나열됩니다.
- CATALOG_NAME 및 NAMESPACE: Iceberg 카탈로그 이름과 네임스페이스가 결합되어 Iceberg 테이블 (
catalog.namespace.table_name
)을 식별합니다. - LOCATION: 지원되는 BigQuery 위치입니다. 기본 위치는 '미국'입니다.
- BUCKET 및 WAREHOUSE_DIRECTORY: Iceberg 창고 디렉터리로 사용되는 Cloud Storage 버킷 및 폴더입니다.
실행 아이콘을 클릭하거나
Shift-Enter
키를 눌러 코드를 실행합니다. 작업이 완료되면 상태 메시지에 'Spark Job Finished'(Spark 작업 완료됨)가 표시되고 출력에 테이블 콘텐츠가 표시됩니다.BigQuery에서 테이블 메타데이터 보기
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
Iceberg 테이블 메타데이터를 봅니다.