Iceberg 테이블 만들기

이 항목에서는 다양한 Iceberg 카탈로그 옵션 에 대해 Snowflake에서 Iceberg 테이블 을 만드는 방법을 다룹니다. CREATE ICEBERG TABLE 명령을 사용하여 Iceberg 테이블을 생성할 수 있습니다.

참고

Iceberg 테이블을 생성하려면 세션의 현재 웨어하우스로 지정된 실행 중인 웨어하우스가 있어야 합니다. Iceberg 테이블을 생성할 때 실행 중인 웨어하우스를 지정하지 않으면 오류가 발생할 수 있습니다. 자세한 내용은 웨어하우스 관련 작업하기 를 참조하십시오.

Snowflake를 카탈로그로 사용하여 Iceberg 테이블 만들기

Snowflake를 카탈로그로 사용하여 Iceberg 테이블을 만들려면 Snowflake가 테이블 데이터와 메타데이터를 쓸 수 있는 외부 볼륨 과 기본 위치(외부 볼륨의 디렉터리)를 지정해야 합니다. 외부 볼륨 생성에 대한 지침은 Iceberg 테이블에 대한 외부 볼륨 구성하기 섹션을 참조하십시오.

다음 예제에서는 Snowflake를 Iceberg 카탈로그로 사용하여 Iceberg 테이블을 생성합니다.

CREATE ICEBERG TABLE myTable
  CATALOG='SNOWFLAKE'
  EXTERNAL_VOLUME='myIcebergVolume'
  BASE_LOCATION='relative/path/from/extvol/location/';
Copy

베리언트 구문으로 Snowflake를 카탈로그로 사용하여 Iceberg 테이블을 생성할 수도 있습니다. CREATE TABLE … AS SELECTCREATE ICEBERG TABLE … LIKE 섹션을 참조하십시오.

카탈로그 통합으로 Iceberg 테이블 만들기

외부 카탈로그를 사용하거나 카탈로그를 전혀 사용하지 않는 Iceberg 테이블을 생성하려면 외부 볼륨카탈로그 통합 을 지정해야 합니다. 외부 Iceberg 카탈로그를 사용하는 경우 추가 매개 변수를 지정해야 할 수도 있습니다. 예를 들어 AWS Glue를 카탈로그로 사용할 때 카탈로그 테이블 이름을 지정해야 합니다.

카탈로그 통합으로 Iceberg 테이블을 생성할 때 Snowflake는 초기 메타데이터 새로 고침을 수행합니다. 또한 ALTER ICEBERG TABLE 명령을 사용하여 테이블 메타데이터를 수동으로 새로 고쳐 메타데이터를 최신 테이블 변경 사항과 동기화할 수도 있습니다. 자세한 내용은 테이블 메타데이터를 수동으로 새로 고치기 섹션을 참조하십시오.

AWS Glue를 카탈로그로 사용하여 Iceberg 테이블 만들기

중요

Snowflake와 Glue Data Catalog 간의 신뢰 관계를 설정하려면 AWS Glue의 카탈로그 통합을 구성해야 합니다. 자세한 지침은 Iceberg 테이블의 카탈로그 통합 구성하기 섹션을 참조하십시오.

다음 예제에서는 AWS Glue(glueCatalogInt)에 대해 구성된 카탈로그 통합의 이름과 CATALOG_TABLE_NAME 속성의 값을 지정하여 AWS Glue Data Catalog를 사용하는 Iceberg 테이블을 생성합니다.

CREATE ICEBERG TABLE myGlueTable
  EXTERNAL_VOLUME='glueCatalogVolume'
  CATALOG='glueCatalogInt'
  CATALOG_TABLE_NAME='myGlueTable';
Copy

오브젝트 저장소의 Iceberg 파일에서 Iceberg 테이블 만들기

다음 예제에서는 외부 볼륨(METADATA_FILE_PATH)의 테이블 메타데이터에 대한 상대 경로를 지정하여 외부 클라우드 저장소의 Iceberg 메타데이터에서 Iceberg 테이블을 생성합니다.

CREATE ICEBERG TABLE myIcebergTable
  EXTERNAL_VOLUME='icebergMetadataVolume'
  CATALOG='icebergCatalogInt'
  METADATA_FILE_PATH='path/to/metadata/v1.metadata.json';
Copy