Bulk loading from Microsoft Azure

Bulk loading from Microsoft Azure (Microsoft Azure에서 벌크 로딩)

Microsoft Azure 계정이 이미 있고 데이터 파일을 저장·관리하기 위해 Azure blob 저장소 컨테이너를 사용하고 있다면 기존 컨테이너와 폴더 경로를 사용해 Snowflake로 벌크 로딩할 수 있어요.

출처: Snowflake Documentation

본문

Note

보안 태세를 강화하려면 공용 인터넷 대신 사설 연결을 사용하도록 벌크 로드를 구성할 수 있어요. 자세한 내용은 Microsoft Azure의 외부 스테이지 및 Snowpipe 자동화에 대한 사설 연결을 참고해요.

이 주제 집합은 COPY 명령으로 Azure 컨테이너에서 테이블로 데이터를 로드하는 방법을 설명해요.

Snowflake는 현재 blob 저장소에서의 로드만 지원해요. Snowflake는 다음 유형의 저장소 계정을 지원해요.

  • Blob 저장소
  • Data Lake Storage Gen2
  • 범용 v1(General-purpose v1)
  • 범용 v2(General-purpose v2)
  • Microsoft Fabric OneLake

Snowflake는 Data Lake Storage Gen1을 지원하지 않아요.

Note

  • Microsoft Fabric OneLake의 경우 Snowflake는 다음 기능을 지원하지 않아요.

    • 자동화된 Snowpipe
    • 외부 테이블 및 디렉터리 테이블의 자동 새로 고침
    • 사설 연결
  • 블록(block), 추가(append), 페이지(page) blob에서 로드가 지원돼요. 언로드된 파일은 블록 blob로 생성돼요. 이 blob 유형에 대한 정보는 Azure의 blob 유형 문서를 참고해요.

  • Data Lake Storage Gen2에서 계층적 네임스페이스가 활성화되면 COPY 명령으로 파일을 제거(purge)하는 것을 Snowflake가 지원하지 않아요. 계층적 네임스페이스는 데이터를 디렉터리와 하위 디렉터리로 조직해요. Azure는 빈 디렉터리만 삭제할 수 있게 하므로 COPY 명령의 PURGE 옵션으로 디렉터리를 재귀적으로 삭제할 수 없어요.

아래 다이어그램에서 보듯이 Azure 컨테이너에서 데이터를 로드하는 것은 두 단계로 수행돼요.

Step 1:

Snowflake는 데이터 파일이 이미 Azure 컨테이너에 스테이징되어 있다고 가정해요. 아직 스테이징되지 않았다면 Microsoft가 제공하는 업로드 인터페이스/유틸리티를 사용해 파일을 스테이징해요.

Step 2:

COPY INTO

명령을 사용해 스테이징된 파일(들)의 내용을 Snowflake 데이터베이스 테이블로 로드해요. 버킷에서 직접 로드할 수 있지만, Snowflake는 버킷을 참조하는 외부 스테이지를 만들고 그 외부 스테이지를 사용할 것을 권장해요.

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

Note

Snowflake 계정이 Azure에 호스팅되어 있는 한 네트워크 트래픽은 공용 인터넷을 경유하지 않아요.

Tip

이 주제 집합의 지침은 데이터 로드 준비를 읽고 원한다면 명명된 파일 형식(named file format)을 만들었다고 가정해요. 시작하기 전에 데이터 로드 고려 사항도 읽어 모범 사례, 팁, 기타 지침을 확인하고 싶을 수 있어요.

다음 주제:

구성 작업(필요에 따라 완료):

데이터 로드 작업(로드하는 각 파일 집합에 대해 완료):

더 알아보기 (Learn more)

— COPY 명령