Microsoft Azure에서 대량 로드하기

이미 Microsoft Azure 계정이 있고 데이터 파일을 저장하고 관리하기 위해 Azure Blob Storage 컨테이너를 사용하는 경우 Snowflake로 대량 로드하기 위해 기존 컨테이너 및 폴더 경로를 사용할 수 있습니다.

이 항목 세트에서는 COPY 명령을 사용하여 Azure 컨테이너에서 테이블로 데이터를 로드하는 방법을 설명합니다.

Snowflake는 현재 Blob 저장소로부터의 로드만 지원합니다. Snowflake가 지원하는 저장소 계정 타입은 다음과 같습니다.

  • Blob 저장소

  • Data Lake Storage Gen2

  • 범용 v1

  • 범용 v2

Snowflake는 Data Lake Storage Gen1을 지원하지 않습니다.

참고

블록, 추가 및 페이지 Blob에서 로드가 지원됩니다. 언로드된 파일은 블록 Blob으로 생성됩니다. 이러한 Blob 타입에 대한 자세한 내용은 Blob 타입에 대한 Azure 설명서 를 참조하십시오.

Data Lake Storage Gen2에서 계층적 네임스페이스가 활성화된 경우 Snowflake는 COPY 명령을 사용하여 파일 제거를 지원하지 않습니다. 계층적 네임스페이스는 데이터를 디렉터리와 하위 디렉터리로 구성합니다. Azure에서는 빈 디렉터리만 삭제할 수 있는데, 이는 곧 COPY 명령과 함께 PURGE 옵션을 사용하여 디렉터리를 재귀적으로 삭제할 수 없다는 의미입니다.

아래 다이어그램과 같이, Azure 컨테이너에서 데이터를 로드하는 작업은 두 단계로 수행됩니다.

1단계:

Snowflake는 데이터 파일이 이미 Azure 컨테이너에서 스테이징된 것으로 가정합니다. 아직 스테이징되지 않은 경우 Microsoft에서 제공하는 업로드 인터페이스/유틸리티를 사용하여 파일을 스테이징합니다.

2단계:

COPY INTO <테이블> 명령을 사용하여 스테이징된 파일의 내용을 Snowflake 데이터베이스 테이블에 로드합니다. 버킷에서 직접 로드할 수 있지만, Snowflake는 버킷을 참조하는 외부 스테이지를 생성하고 외부 스테이지를 대신 사용하는 것을 권장합니다.

사용하는 방법에 관계없이, 이 명령을 수동으로 실행하거나 스크립트 내에서 실행할 경우 이 단계에서는 세션에 대해 실행 중인 현재 가상 웨어하우스가 필요합니다. 웨어하우스는 테이블에 행을 실제로 삽입하기 위한 컴퓨팅 리소스를 제공합니다.

데이터 로딩 개요

이 항목 세트의 지침에서는 데이터 로드 준비하기 를 읽고 원하는 경우 명명된 파일 형식을 생성한 것으로 가정합니다.

시작하기 전에 데이터 로딩 고려 사항 에서 모범 사례, 팁 및 기타 지침을 확인할 수도 있습니다.

다음 항목: