복사 작업에서 Snowflake 구성
이 문서에서는 데이터 파이프라인의 복사 작업을 사용하여 Snowflake에서 데이터를 복사하는 방법에 대해 설명합니다.
지원되는 구성
복사 작업 아래의 각 탭을 구성하려면 각각 다음 섹션으로 이동합니다.
일반
일반 설정 탭을 구성하려면 일반 설정 지침을 참조하세요.
Source
복사 작업의 원본 탭에서 Snowflake에 대해 지원되는 속성은 다음과 같습니다.
다음 속성은 필수입니다.
- 데이터 저장소 유형: 외부를 선택합니다.
- 연결: 연결 목록에서 Snowflake 연결을 선택합니다. 연결이 없으면 새로 만들기를 선택하여 새로운 Snowflake 연결을 만듭니다.
- 데이터베이스: 연결 시 사용할 기본 데이터베이스입니다. 지정된 역할에 권한이 있는 기존 데이터베이스여야 합니다.
- 쿼리 사용: 테이블 또는 쿼리를 사용 쿼리로 선택할 수 있습니다. 다음 목록에서는 각 설정의 구성에 대해 설명합니다.
- 테이블: 테이블 드롭다운 목록에서 데이터베이스의 테이블을 선택합니다. 또는 편집을 선택하여 테이블 이름을 수동으로 입력합니다.
- 쿼리: Snowflake에서 데이터를 읽을 SQL 쿼리를 지정합니다. 스키마 이름, 테이블 및 열에 소문자가 포함된 경우 쿼리의 개체 식별자(예:
select * from "schema"."myTable"
)를 인용합니다.
고급에서 다음 필드를 지정할 수 있습니다.
스토리지 통합: Snowflake에서 만든 스토리지 통합의 이름을 지정합니다. 스토리지 통합을 사용하는 필수 구성 요소 단계는 Snowflake 스토리지 통합구성을 참조하세요.
추가 Snowflake 복사 옵션: Snowflake COPY 문에서 데이터를 로드하는 데 사용할 추가 Snowflake COPY 옵션을 지정합니다. 키-값 쌍의 사전으로 제공되는 추가 복사 옵션입니다. 예: MAX_FILE_SIZE, 덮어쓰기. 자세한 내용은 Snowflake 복사 옵션을 참조하세요.
추가 Snowflake 형식 옵션: Snowflake COPY 문에서 데이터를 로드하는 데 사용할 추가 Snowflake 형식 옵션을 지정합니다. 키-값 쌍의 사전으로 COPY 명령에 제공되는 추가 파일 형식 옵션입니다. 예: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. 자세한 내용은 Snowflake 형식 유형 옵션을 참조하세요.
Snowflake에서 직접 복사
대상 데이터 저장소와 형식이 이 섹션에 설명된 조건을 충족하는 경우 복사 작업을 사용하여 Snowflake에서 대상으로 직접 복사할 수 있습니다. 이 서비스는 설정을 확인하고 다음 조건이 충족되지 않으면 복사 작업 실행에 실패합니다.
원본에서 스토리지 통합을 지정하는 경우: 대상 데이터 저장소는 Snowflake의 외부 단계에서 참조한 Azure Blob 저장소입니다. 데이터를 복사하기 전에 다음 단계를 완료해야 합니다.
지원되는 인증 유형을 사용하여 대상 Azure Blob Storage에 대한 Azure Blob Storage에 연결된 서비스를 만듭니다.
대상 Azure Blob Storage 액세스 제어(IAM) Snowflake 서비스 주체에게 최소 Storage Blob 데이터 기여자 역할을 부여합니다.
원본에서 스토리지 통합을 지정하지 않는 경우:
대상 연결은 공유 액세스 서명 인증을 사용하는 Azure Blob Storage입니다. 다음 지원되는 형식으로 Azure Data Lake Storage Gen2에 데이터를 직접 복사하려는 경우 Snowflake 준비된 복사본을 사용하지 않도록 Azure Data Lake Storage Gen2 계정에 대해 SAS 인증을 사용하여 Azure Blob Storage 연결된 서비스를 만들 수 있습니다.
대상 데이터 형식은 다음 구성과 함께 Parquet, 구분된 텍스트 또는 JSON입니다.
- Parquet 형식의 경우 압축 코덱은 None, Snappy 또는 Lzo입니다.
- 구분된 텍스트 형식의 경우:
- 행 구분 기호는 \r\n 이거나 아무런 단일 문자입니다.
- 압축 유형은 없음, gzip, bzip2 또는 압축 해제일 수 있습니다.
- 인코딩은 기본값으로 남아 있거나 utf-8로 설정됩니다.
- 따옴표 문자는 큰따옴표, 작은따옴표 또는 따옴표 없음 문자입니다.
- JSON 형식의 경우 직접 복사는 원본 Snowflake 테이블 또는 쿼리 결과에 단일 열만 있고 이 열의 데이터 유형이 VARIANT, OBJECT 또는 ARRAY인 경우에만 지원합니다.
- 압축 유형은 없음, gzip, bzip2 또는 압축 해제일 수 있습니다.
- 인코딩은 기본값으로 남아 있거나 utf-8로 설정됩니다.
- 복사 작업 대상의 파일 패턴 은 기본값으로 남아 있거나 개체 집합으로 설정됩니다.
복사 작업 원본에서 추가 열은 지정되지 않았습니다.
열 매핑은 지정되지 않았습니다.
Snowflake에서 준비된 복사
대상 데이터 저장소 또는 형식이 Snowflake COPY 명령과 기본적으로 호환되지 않는 경우 마지막 섹션에 설명된 대로 중간 Azure Blob Storage 인스턴스를 사용하여 기본 제공된 준비된 복사를 사용하도록 설정합니다. 또한 단계적 복사 기능은 더 나은 처리량을 제공합니다. 이 서비스는 Snowflake에서 데이터를 스테이징 스토리지로 내보낸 다음, 데이터를 대상에 복사하고 마지막으로 준비 스토리지에서 임시 데이터를 정리합니다.
이 기능을 사용하려면 중간 스테이징으로 Azure Storage 계정을 참조하는 Azure Blob Storage 연결를 만듭니다. 그런 다음 설정 탭으로 이동하여 준비 설정을 구성합니다. 외부를 선택하여 Azure Blob Storage 준비 연결을 구성해야 합니다.
원본에서 스토리지 통합을 지정하는 경우 중간 준비 Azure Blob Storage는 Snowflake의 외부 단계에서 참조한 항목이어야 합니다. 지원되는 인증을 사용하여 Azure Blob Storage 연결을 만들고 준비 Azure Blob Storage 액세스 제어(IAM) Snowflake 서비스 주체에 이상의 Storage Blob 데이터 기여자 역할을 부여해야 합니다. 설정 탭의 준비 설정 아래에있는 스토리지 경로가 필요합니다.
원본에서 스토리지 통합을 지정하지 않으면 준비 Azure Blob Storage 연결은 Snowflake COPY 명령에 필요한 대로 공유 액세스 서명 인증을 사용해야 합니다. 준비 Azure Blob Storage에서 Snowflake에 적절한 액세스 권한을 부여해야 합니다. 이에 대해 자세히 알아보려면 이 문서를 참조하세요.
대상
복사 작업의 대상 탭에서 Snowflake에 대해 지원되는 속성은 다음과 같습니다.
다음 속성은 필수입니다.
- 데이터 저장소 유형: 외부를 선택합니다.
- 연결: 연결 목록에서 Snowflake 연결을 선택합니다. 연결이 없으면 새로 만들기를 선택하여 새로운 Snowflake 연결을 만듭니다.
- 데이터베이스: 연결 시 사용할 기본 데이터베이스입니다. 지정된 역할에 권한이 있는 기존 데이터베이스여야 합니다.
- 테이블: 테이블 드롭다운 목록에서 데이터베이스의 테이블을 선택합니다. 또는 편집을 선택하여 테이블 이름을 수동으로 입력합니다.
고급에서 다음 필드를 지정할 수 있습니다.
스크립트 사전 복사: 각 실행에서 대상 테이블에 데이터를 쓰기 전에 실행할 복사 작업에 대한 스크립트를 지정합니다. 이 속성을 사용하여 미리 로드된 데이터를 정리할 수 있습니다.
스토리지 통합: Snowflake에서 만든 스토리지 통합의 이름을 지정합니다. 스토리지 통합을 사용하는 필수 구성 요소 단계는 Snowflake 스토리지 통합구성을 참조하세요.
추가 Snowflake 복사 옵션: Snowflake COPY 문에서 데이터를 로드하는 데 사용할 추가 Snowflake COPY 옵션을 지정합니다. 키-값 쌍의 사전으로 제공되는 추가 복사 옵션입니다. 예: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. 자세한 내용은 Snowflake 복사 옵션을 참조하세요.
추가 Snowflake 형식 옵션: Snowflake COPY 문에서 데이터를 로드하는 데 사용할 추가 Snowflake 형식 옵션을 지정합니다. 키-값 쌍의 사전으로 COPY 명령에 제공되는 추가 파일 형식 옵션입니다. 예: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. 자세한 내용은 Snowflake 형식 유형 옵션을 참조하세요.
Snowflake로 직접 복사
원본 데이터 저장소와 형식이 이 섹션에 설명된 조건을 충족하는 경우 복사 작업을 사용하여 원본에서 Snowflake로 직접 복사할 수 있습니다. 이 서비스는 설정을 확인하고 다음 조건이 충족되지 않으면 복사 작업 실행에 실패합니다.
대상에서 스토리지 통합을 지정하는 경우:
원본 데이터 저장소는 Snowflake의 외부 단계에서 참조한 Azure Blob Storage입니다. 데이터를 복사하기 전에 다음 단계를 완료해야 합니다.
지원되는 인증 유형을 사용하여 원본 Azure Blob Storage에 대한 Azure Blob Storage에 연결된 서비스를 만듭니다.
원본 Azure Blob Storage 액세스 제어(IAM) Snowflake 서비스 주체에게 최소 Storage Blob 데이터 판독기 역할을 부여합니다.
대상에서 스토리지 통합을 지정하지 않는 경우:
원본 연결은 공유 액세스 서명 인증을 사용하는 Azure Blob Storage입니다. 다음과 같은 지원되는 형식으로 Azure Data Lake Storage Gen2에서 데이터를 직접 복사하려는 경우 Azure Data Lake Storage Gen2 계정에 대해 SAS 인증을 사용하여 Azure Blob Storage 연결을 만들어 Snowflake 준비된 복사본을 사용하지 않도록 할 수 있습니다.
원본 데이터 형식은 다음 구성과 함께 Parquet, 구분된 텍스트 또는 JSON입니다.
Parquet 형식의 경우 압축 코덱은 None 또는 Snappy입니다.
구분된 텍스트 형식의 경우:
- 행 구분 기호는 \r\n 이거나 아무런 단일 문자입니다. 행 구분 기호가 "\r\n" 이 아니면 머리글로 첫 번째 행을 선택 취소하고 줄 수 건너뛰기를 지정하지 않습니다.
- 압축 유형은 없음, gzip, bzip2 또는 압축 해제일 수 있습니다.
- 인코딩은 기본값으로 남아 있거나 “UTF-8”, “UTF-16”, “UTF-16BE”, “UTF-32”, “UTF-32BE”, “BIG5”, “EUC-JP”, “EUC-KR”, “GB18030”, “ISO-2022-JP”, “ISO-2022-KR”, “ISO-8859-1”, “ISO-8859-2”, “ISO-8859-5”, “ISO-8859-6”, “ISO-8859-7”, “ISO-8859-8”, “ISO-8859-9”, “WINDOWS-1250”, “WINDOWS-1251”, “WINDOWS-1252”, “WINDOWS-1253”, “WINDOWS-1254”, “WINDOWS-1255”로 설정됩니다.
- 따옴표 문자는 큰따옴표, 작은따옴표 또는 따옴표 없음 문자입니다.
JSON 형식의 경우 직접 복사는 대상 Snowflake 테이블에 단일 열만 있고 이 열의 데이터 유형이 VARIANT, OBJECT 또는 ARRAY인 경우에만 지원합니다.
- 압축 유형은 없음, gzip, bzip2 또는 압축 해제일 수 있습니다.
- 인코딩은 기본값으로 남아 있거나 utf-8로 설정됩니다.
- 열 매핑은 지정되지 않았습니다.
복사 작업 원본에서는 다음이 해당됩니다.
- 추가 열이 지정되지 않았습니다.
- 원본이 폴더인 경우 재귀적으로 선택됩니다.
- 마지막으로 수정한 기준으로 필터링 및 파티션 검색 활성화에서 접두사, 시작 시간(UTC) 및 종료 시간(UTC)이 지정되지 않았습니다.
Snowflake로 준비된 복사
원본 데이터 저장소 또는 형식이 Snowflake COPY 명령과 기본적으로 호환되지 않는 경우 마지막 섹션에 설명된 대로 중간 Azure Blob Storage 인스턴스를 사용하여 기본 제공된 준비된 복사를 사용하도록 설정합니다. 또한 단계적 복사 기능은 더 나은 처리량을 제공합니다. 이 서비스는 Snowflake의 데이터 형식 요구 사항을 충족하도록 데이터를 자동으로 변환합니다. 그런 다음, COPY 명령을 호출하여 데이터를 Snowflake로 로드합니다. 마지막으로, Blob Storage에서 임시 데이터를 정리합니다.
이 기능을 사용하려면 중간 스테이징으로 Azure Storage 계정을 참조하는 Azure Blob Storage 연결를 만듭니다. 그런 다음 설정 탭으로 이동하여 준비 설정을 구성합니다. 외부를 선택하여 Azure Blob Storage 준비 연결을 구성해야 합니다.
대상에서 스토리지 통합을 지정하는 경우 중간 준비 Azure Blob Storage는 Snowflake의 외부 단계에서 참조한 항목이어야 합니다. 지원되는 인증을 사용하여 Azure Blob Storage 연결을 만들고 Azure Blob Storage 액세스 제어(IAM) 스테이징에서 Snowflake 서비스 주체에 이상의 Storage Blob 데이터 판독기 역할을 부여해야 합니다. 설정 탭의 준비 설정 아래에있는 스토리지 경로가 필요합니다.
대상에서 스토리지 통합을 지정하지 않으면 준비 Azure Blob Storage 연결은 Snowflake COPY 명령에 필요한 대로 공유 액세스 서명 인증을 사용해야 합니다.
매핑
매핑 탭 구성의 경우 매핑 탭에서 매핑 구성으로 이동합니다.
설정
설정 탭을 구성하려면 설정 탭에서 기타 설정 구성으로 이동합니다.
표 요약
다음 표에는 Snowflake의 복사 활동에 대한 자세한 정보가 포함되어 있습니다.
Source
이름 | 설명 | 값 | 필수 | JSON 스크립트 속성 |
---|---|---|---|---|
데이터 저장소 유형 | 데이터 저장소 유형입니다. | 외부 | 예 | / |
연결 | 원본 데이터 저장소에 대한 연결입니다. | < 연결 > | 예 | connection |
데이터베이스 | 원본으로 사용하는 데이터베이스입니다. | < 데이터베이스 > | 예 | database |
쿼리 사용 | Snowflake에서 데이터를 읽는 방법입니다. | • 테이블 • 쿼리 |
아니요 | • 테이블 • 쿼리 |
테이블 | 데이터를 읽을 테이블 이름입니다. | < 원본 테이블의 이름> | 예 | 스키마 테이블 |
쿼리 | Snowflake에서 데이터를 읽을 SQL 쿼리입니다. | < 원본 쿼리의 이름> | 예 | query |
스토리지 통합 | Snowflake에서 만든 스토리지 통합의 이름을 지정합니다. 스토리지 통합을 사용하는 필수 구성 요소 단계는 Snowflake 스토리지 통합구성을 참조하세요. | < 스토리지 통합 > | 아니요 | storageIntegration |
추가 Snowflake 복사 옵션 | 키-값 쌍의 사전으로 제공되는 추가 복사 옵션입니다. 예: MAX_FILE_SIZE, 덮어쓰기. 자세한 내용은 Snowflake 복사 옵션을 참조하세요. | • 이름 • 값 |
아니요 | additionalCopyOptions |
추가 Snowflake 형식 옵션 | 키-값 쌍의 사전으로 COPY 명령에 제공되는 추가 파일 형식 옵션입니다. 예: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. 자세한 내용은 Snowflake 형식 유형 옵션을 참조하세요. | • 이름 • 값 |
아니요 | additionalFormatOptions |
대상
참고 항목
non-Azure Snowflake 인스턴스는 원본에 대해 지원되지만 현재 Snowflake 대상(Azure Data Factory의 싱크라고도 함)에는 Azure Snowflake 인스턴스만 지원됩니다.
속성 | 설명 | 값 | 필수 | JSON 스크립트 속성 |
---|---|---|---|---|
데이터 저장소 유형 | 데이터 저장소 유형입니다. | 외부 | 예 | / |
연결 | 대상 데이터 저장소에 대한 연결입니다. | < 연결 > | 예 | connection |
데이터베이스 | 대상으로 사용하는 데이터베이스입니다. | < 데이터베이스 > | 예 | / |
테이블 | 대상 데이터 테이블입니다. | < 목적지 테이블의 이름 >. | 예 | • 스키마 • 테이블 |
스크립트 사전 복사 | 각 실행 시 Snowflake에 데이터를 쓰기 전에 실행할 복사 작업에 대한 SQL 쿼리입니다. 이 속성을 사용하여 미리 로드된 데이터를 정리합니다. | < 사전 복사 스크립트> | 아니오 | preCopyScript |
스토리지 통합 | Snowflake에서 만든 스토리지 통합의 이름을 지정합니다. 스토리지 통합을 사용하는 필수 구성 요소 단계는 Snowflake 스토리지 통합구성을 참조하세요. | < 스토리지 통합 > | 아니요 | storageIntegration |
추가 Snowflake 복사 옵션 | 키-값 쌍의 사전으로 제공되는 추가 복사 옵션입니다. 예: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. 자세한 내용은 Snowflake 복사 옵션을 참조하세요. | • 이름 • 값 |
아니요 | additionalCopyOptions |
추가 Snowflake 형식 옵션 | 키-값 쌍의 사전으로 COPY 명령에 제공되는 추가 파일 형식 옵션입니다. 예: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. 자세한 내용은 Snowflake 형식 유형 옵션을 참조하세요. | • 이름 • 값 |
아니요 | additionalFormatOptions |