Snowsight를 사용해 파일 스테이징
Snowsight를 사용해 파일 스테이징
Snowsight를 사용하면 SQL을 작성하지 않고도 이름이 있는 스테이지를 만들고 관리할 수 있어요. 또한 이름이 있는 내부 스테이지에 파일을 업로드해 파일을 보고, Python 워크시트에서 파일을 참조하거나, 파일에서 테이블로 데이터를 로드할 수 있어요.
Snowsight를 사용해 사용자 스테이지나 테이블 스테이지에는 파일을 업로드할 수 없어요. 스테이지에 대한 자세한 내용은 데이터 로드 개요를 참고해요.
출처: Documentation
본문
스테이지 만들기
Snowsight를 사용해 이름이 있는 내부 또는 외부 스테이지를 만들 수 있어요.
참고 — 스테이지를 만들려면 필요한 권한이 부여되거나 상속된 역할을 사용해야 해요. 자세한 내용은 CREATE STAGE의 액세스 제어 요구 사항을 참고해요.
이름이 있는 내부 스테이지 만들기
Snowsight로 이름이 있는 내부 스테이지를 만들려면 다음을 수행해요.
- Snowsight에 로그인해요.
- 탐색 메뉴 상단에서 (Create) » Stage » Snowflake Managed를 선택해요.
- Create Stage 대화 상자에서 Stage Name을 입력해요.
- 스테이지를 만들 데이터베이스와 스키마를 선택해요.
- 선택적으로 Directory table을 선택 해제해요. 디렉터리 테이블을 사용하면 스테이지의 파일을 볼 수 있지만 웨어하우스가 필요하므로 비용이 발생해요. 지금은 이 옵션을 선택 해제하고 나중에 디렉터리 테이블을 활성화할 수 있어요.
- 스테이지의 모든 파일에 지원되는 Encryption 유형을 선택해요. 자세한 내용은 내부 스테이지용 암호화를 참고해요. 스테이지를 만든 후에는 암호화 유형을 변경할 수 없어요.
참고 — 데이터 접근을 활성화하려면 서버 측 암호화를 사용해요. 그렇지 않으면 스테이징된 파일이 기본적으로 클라이언트 측 암호화되어 다운로드 시 읽을 수 없어요. 자세한 내용은 비정형 데이터 접근용 서버 측 암호화를 참고해요.
- 스테이지를 설명하는 필드를 완료해요. 자세한 내용은 CREATE STAGE를 참고해요.
- Create를 선택해요.
이름이 있는 외부 스테이지 만들기
Snowsight로 이름이 있는 외부 스테이지를 만들려면 다음을 수행해요.
- Snowsight에 로그인해요.
- 탐색 메뉴 상단에서 (Create) » Stage » External Stage를 선택해요.
- 외부 클라우드 스토리지 제공업체를 선택해요: Amazon S3, Microsoft Azure 또는 Google Cloud Platform.
- Create Stage 대화 상자에서 Stage Name을 입력해요.
- 스테이지를 만들 데이터베이스와 스키마를 선택해요.
- 외부 클라우드 스토리지 위치의 URL을 입력해요.
- 외부 스토리지가 공용이 아니면 Authentication을 활성화하고 세부 정보를 입력해요. 자세한 내용은 CREATE STAGE를 참고해요.
- 선택적으로 Directory table을 선택 해제해요. 디렉터리 테이블을 사용하면 스테이지의 파일을 볼 수 있지만 웨어하우스가 필요하므로 비용이 발생해요. 지금은 이 옵션을 선택 해제하고 나중에 디렉터리 테이블을 활성화할 수 있어요. Directory table을 활성화하면 선택적으로 Enable auto-refresh를 선택하고 이벤트 알림 또는 알림 통합을 선택해 파일이 추가되거나 제거될 때 디렉터리 테이블을 자동으로 새로 고쳐요. 자세한 내용은 Data Load Dirtables Auto를 참고해요.
- 파일이 암호화되어 있으면 Encryption을 활성화하고 세부 정보를 입력해요.
- (선택) 생성된 SQL 문을 보려면 SQL Preview를 펼쳐요. AUTO_REFRESH 같은 스테이지의 추가 옵션을 지정하려면 이 SQL 미리 보기를 워크시트에서 열 수 있어요.
- Create를 선택해요.
스테이지에 파일 업로드
Snowsight를 사용해 이름이 있는 내부 스테이지에 파일을 업로드할 수 있어요.
외부 스테이지에 파일을 업로드하려면 외부 클라우드 서비스(Amazon S3, Microsoft Azure 또는 Google Cloud Storage)가 제공하는 도구를 사용해요.
이름이 있는 내부 스테이지에 파일 업로드
참고 — 최대 파일 크기는 250MB예요.
내부 스테이지에 파일을 업로드하려면 데이터베이스와 스키마에 USAGE 권한이 부여되거나 상속된 역할과 스테이지에 WRITE 권한이 있는 역할을 사용해야 해요. 자세한 내용은 스테이지 권한을 참고해요.
스테이지에 파일을 업로드하려면 다음을 수행해요.
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Ingestion » Add Data를 선택해요.
- Add Data 페이지에서 Load files into a Stage를 선택해요.
- 나타나는 Upload Your Files 대화 상자에서 업로드할 파일을 선택해요. 여러 파일을 동시에 업로드할 수 있어요.
- 스테이지를 만든 데이터베이스 스키마를 선택한 다음 스테이지를 선택해요.
- 선택적으로 스테이지 안에서 파일을 저장할 경로를 선택하거나 만들어요.
- Upload를 선택해요.
스테이지에 파일을 업로드한 후 파일에 따라 다음 작업 중 하나를 수행할 수 있어요.
- Python 워크시트에서 파일 사용. 자세한 내용은 스테이지에서 워크시트로 Python 파일 추가를 참고해요.
- 스테이징된 파일에서 테이블로 데이터 복사. 자세한 내용은 Snowsight를 사용해 기존 테이블에 데이터 로드 또는 내부 스테이지에서 데이터 복사를 참고해요.
- 스테이지의 데이터 조회. 자세한 내용은 스테이징된 파일의 데이터 조회를 참고해요.
스테이징된 파일 보기
Snowsight를 사용해 스테이징된 파일을 볼 수 있어요. 내부 및 외부 스테이지 모두에서 파일을 볼 수 있어요.
참고 — 이러한 단계를 수행하려면 데이터베이스와 스키마에 USAGE 권한이 부여되거나 상속된 역할과 스테이지에 READ 권한이 있는 역할을 사용해야 해요.
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Catalog » Explorer를 선택해요.
- 스테이지를 포함하는 데이터베이스와 스키마를 선택해요.
- Stages를 선택하고 파일을 보려는 스테이지를 선택해요.
- 메시지가 표시되면 Enable Directory Table을 선택해 파일을 볼 수 있도록 스테이지의 디렉터리 테이블을 활성화해요.
- 메시지가 표시되면 디렉터리 테이블을 새로 고칠 웨어하우스를 선택해요.
스테이지의 디렉터리 테이블을 새로 고치려면 새로 고침 아이콘을 선택해요.
스테이징된 파일 관리
Snowsight를 사용해 스테이징된 파일에 다음 작업을 수행할 수 있어요.
- ⋯(ellipsis) » Load into table을 선택해 스테이지에서 테이블로 파일을 로드해요.
- ⋯ » Copy path를 선택해 워크시트 같은 다른 곳에서 사용할 파일 경로를 복사해요.
내부 스테이지의 파일에 대해서는 다음 작업도 수행할 수 있어요.
- ⋯ » Download를 선택해 스테이지에서 파일을 다운로드해요.
- ⋯ » Remove를 선택해 스테이지에서 파일을 제거해요.
참고 — 외부 스테이지에서 파일을 다운로드하려면 Snowsight에서 스테이징된 파일 다운로드를 참고해요.
스테이지 관리
Snowsight에서 스테이지를 관리하려면 다음을 수행해요.
참고 — 이러한 단계를 수행하려면 데이터베이스와 스키마에 USAGE 권한이 부여되거나 상속된 역할과 스테이지에 OWNERSHIP 권한이 있는 역할을 사용해야 해요.
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Catalog » Explorer를 선택해요.
- 스테이지를 포함하는 데이터베이스와 스키마를 선택해요.
- Stages를 선택하고 스테이지를 선택해요.
- Stage Details를 선택해요.
다음 방법으로 스테이지를 관리할 수 있어요.
- ⋯ » Edit을 선택해 속성을 편집하거나 스테이지 객체에 디렉터리 테이블을 활성화해요.
- ⋯ » Clone을 선택해 스테이지를 복제해요.
- ⋯ » Drop을 선택해 스테이지를 삭제(제거)해요.
- ⋯ » Transfer Ownership을 선택해 스테이지의 OWNERSHIP 권한을 다른 역할로 이전해요.
스테이지의 권한을 관리하려면 Privileges 섹션을 사용해 권한을 보고, 부여하고, 취소해요.
문제 해결
외부 스테이지에 파일이 보이지 않음
이 문제는 외부 스테이지에 디렉터리 테이블이 활성화되어 있지 않거나, 외부 스토리지 위치에 대한 정보가 올바르지 않을 때 발생할 수 있어요.
이 문제를 해결하려면 다음을 시도해요.
- 스테이지 소유자가 스테이지에 디렉터리 테이블을 활성화했는지 확인해요.
- 디렉터리 테이블이 새로 고쳐졌는지 확인해요. 디렉터리 테이블을 새로 고치려면 Snowsight에서 스테이지를 선택한 다음 새로 고침 아이콘을 선택해요.
- 클라우드 제공업체 URL이 올바른지 확인해요. URL에 하위 경로가 포함된 경우 끝에 슬래시가 있는지 확인해요.
파일 업로드 버튼을 사용할 수 없음(비활성)
이 문제는 내부 스테이지에 파일을 업로드하는 데 필요한 권한이 없거나, 다른 업로드가 진행 중일 때 발생할 수 있어요.
이 문제를 해결하려면 다음을 시도해요.
- 내부 스테이지를 선택했는지 확인해요.
- 데이터베이스와 스키마에 USAGE 권한이 부여되거나 상속된 역할과 스테이지에 WRITE 권한이 있는 역할을 사용해요.
- 다른 업로드가 진행 중인지 확인해요. 비활성 버튼 위에 마우스를 올리면 진행 중인 업로드에 대한 정보가 표시돼요. Snowsight는 진행 중인 업로드에 대한 알림도 표시해요. 다른 업로드가 진행 중이면 스테이지에 추가 파일을 업로드하기 전에 완료되어야 해요.