Create an Azure stage

Create an Azure stage (Azure 스테이지 생성)

스테이지는 데이터 파일이 어디에 저장("스테이징")되는지 지정해 파일의 데이터를 테이블로 로드할 수 있게 해요.

출처: Snowflake Documentation

본문

지정된 Azure 컨테이너의 파일 또는 Azure "폴더" 경로(즉, 키 값 프리픽스)에서 데이터를 직접 로드할 수 있어요. 경로가 /로 끝나면 해당 Azure 폴더의 모든 객체가 로드돼요.

외부 스테이지

Azure 컨테이너의 파일에서 직접 로드하는 것 외에도 Snowflake는 명명된 외부 스테이지 생성을 지원하며, 이는 스테이징 파일에 필요한 모든 정보를 캡슐화해요. 여기에는 다음이 포함돼요.

  • 파일이 스테이징되는 Azure 컨테이너.
  • 명명된 저장 통합 객체 또는 컨테이너용 Azure 자격 증명(보호되어 있다면).
  • 인증 키(컨테이너의 파일이 암호화된 경우).

명명된 외부 스테이지는 선택 사항이지만, 같은 위치에서 정기적으로 데이터를 로드할 계획이라면 권장돼요. 외부 스테이지 생성 지침은 아래 외부 스테이지 생성을 참고해요.

Note

Azure 외부 스테이지의 쿼리 성능을 개선하려면 Microsoft 네트워크 라우팅을 사용하도록 네트워크 라우팅을 구성해요. 지침은 Azure 문서를 참고해요.

외부 스테이지 생성

SQL 또는 웹 인터페이스로 명명된 외부 스테이지를 만들 수 있어요.

Note

스테이지를 만들려면 필요한 권한을 부여받거나 상속하는 역할을 사용해야 해요. 자세한 내용은 CREATE STAGE의 접근 제어 요구 사항을 참고해요.

SQL로 외부 스테이지 생성

CREATE STAGE 명령을 사용해 외부 스테이지를 만들어요.

다음 예는 my_azure_stage라는 외부 스테이지를 만들어요. CREATE 문은 데이터 로드용 Azure 컨테이너 구성에서 만든 azure_int 저장 통합을 포함해 myaccount 계정의 container1 Azure 컨테이너에 접근해요.

데이터 파일은 load/files/ 경로에 저장돼요. 스테이지는 경로에 저장된 파일의 데이터를 설명하는 my_csv_format이라는 명명된 파일 형식 객체를 참조해요:

CREATE STAGE my_azure_stage
  STORAGE_INTEGRATION = azure_int
  URL = 'azure://myaccount.blob.core.windows.net/mycontainer/load/files/'
  FILE_FORMAT = my_csv_format;

Note

Data Lake Storage Gen2를 포함한 모든 지원 유형의 Azure blob 저장소 계정에 대해 blob.core.windows.net 엔드포인트를 사용해요.

Note

스테이지에 명명된 파일 형식 객체(또는 개별 파일 형식 옵션)를 지정하면 스테이지에서 데이터를 로드하는 데 사용되는 COPY 명령에 나중에 같은 파일 형식 옵션을 지정할 필요가 없어요. 파일 형식 객체 및 옵션에 대한 자세한 내용은 CREATE FILE FORMAT을 참고해요.

Python으로 외부 스테이지 생성

Snowflake Python APIs의 StageCollection.create 메서드를 사용해 외부 스테이지를 만들어요.

앞선 SQL 예와 유사하게 다음 Python 예는 my_azure_stage라는 외부 스테이지를 만들어요:

from snowflake.core.stage import Stage

my_stage = Stage(
  name="my_azure_stage",
  storage_integration="azure_int",
  url="azure://myaccount.blob.core.windows.net/mycontainer/load/files/"
)
root.databases["<database>"].schemas["<schema>"].stages.create(my_stage)

Note

Python API는 현재 CREATE STAGE SQL 명령의 FILE_FORMAT 파라미터를 지원하지 않아요.

Snowsight로 외부 스테이지 생성

Snowsight로 명명된 외부 스테이지를 만들려면:

  1. Snowsight에 로그인해요.
  2. 탐색 메뉴 상단에서 (Create) » Stage » External Stage를 선택해요.
  3. 외부 클라우드 저장소 공급자를 선택해요: Amazon S3, Microsoft Azure, 또는 Google Cloud Platform.
  4. Create Stage 대화 상자에서 Stage Name을 입력해요.
  5. 스테이지를 만들 데이터베이스와 스키마를 선택해요.
  6. 외부 클라우드 저장소 위치의 URL을 입력해요.
  7. 외부 저장소가 공용이 아니라면 Authentication을 활성화하고 세부 정보를 입력해요. 자세한 내용은 CREATE STAGE를 참고해요.
  8. 선택적으로 Directory table의 선택을 해제해요. 디렉터리 테이블은 스테이지의 파일을 볼 수 있게 하지만 웨어하우스가 필요하므로 비용이 발생해요. 지금은 선택을 해제하고 나중에 디렉터리 테이블을 활성화할 수 있어요.

Directory table을 활성화하면 선택적으로 Enable auto-refresh를 선택한 다음 이벤트 알림 또는 알림 통합을 선택해 파일이 추가되거나 제거될 때 디렉터리 테이블을 자동으로 새로 고치게 할 수 있어요. 자세한 내용은 Data Load Dirtables Auto를 참고해요.

  1. 파일이 암호화되어 있다면 Encryption을 활성화하고 세부 정보를 입력해요.
  2. (선택) 생성된 SQL 문을 보려면 SQL Preview를 펼쳐요. AUTO_REFRESH 같은 스테이지 추가 옵션을 지정하려면 이 SQL 미리보기를 워크시트에서 열 수 있어요.
  3. Create를 선택해요.

다음: Azure 스테이지에서 데이터 복사

더 알아보기 (Learn more)