Spark에서 메타스토어 테이블 만들기 및 쿼리
Spark와 같은 오픈소스 엔진을 사용하여 BigQuery 노트북에서 Apache Spark Iceberg 테이블을 쿼리할 수 있습니다. 이러한 테이블은 BigQuery 메타스토어에 저장된 메타데이터가 있는 일반 Iceberg 테이블입니다. BigQuery와 Spark에서 동일한 테이블을 쿼리할 수 있습니다.
시작하기 전에
- BigQuery 노트북에서 Spark를 사용하는 동안 Iceberg 테이블을 만듭니다. 테이블 스키마는 BigQuery 메타스토어에 저장됩니다. 예를 들어 BigQuery 노트북, Dataproc, Dataproc Serverless 또는 저장 프로시저를 사용하여 테이블을 만들 수 있습니다.
고려사항
- 현재 Iceberg 테이블만 지원됩니다.
쿼리를 실행할 때 네임스페이스 및 데이터베이스 이름을 BigQuery 데이터 세트 이름으로 매핑해야 합니다. 다음 표에는 사용할 수 있는 관련 키 매핑이 나와 있습니다.
오픈소스 BigQuery 네임스페이스 BigQuery 데이터 세트 데이터베이스 BigQuery 데이터 세트 테이블 (파티션이 있거나 없는 테이블) BigQuery 테이블
테이블 보기 및 쿼리
Spark에서 BigQuery 리소스를 만든 후Google Cloud 콘솔에서 리소스를 보고 쿼리할 수 있습니다. 다음 예는 대화형 Spark를 사용하여 메타스토어 테이블을 쿼리하는 일반적인 단계를 보여줍니다.
맞춤 Iceberg 카탈로그를 사용합니다.
USE `CATALOG_NAME`;
다음을 바꿉니다.
CATALOG_NAME
: SQL 작업과 함께 사용하는 Spark 카탈로그의 이름입니다.
네임스페이스를 만듭니다.
CREATE NAMESPACE IF NOT EXISTS NAMESPACE_NAME;
다음을 바꿉니다.
NAMESPACE_NAME
: Spark 테이블을 참조하는 네임스페이스 이름입니다.
생성된 네임스페이스를 사용합니다.
USE NAMESPACE_NAME;
Iceberg 테이블을 만듭니다.
CREATE TABLE TABLE_NAME (id int, data string) USING ICEBERG;
다음을 바꿉니다.
TABLE_NAME
: Iceberg 테이블의 이름입니다.
표 행을 삽입합니다.
INSERT INTO TABLE_NAME VALUES (1, "first row");
Google Cloud 콘솔을 사용하여 다음 중 하나를 실행합니다.
SELECT * FROM `TABLE_NAME`;
다음 단계
- 추가 BigQuery 메타스토어 기능을 설정합니다.