데이터 변환
데이터 파이프라인의 일부로 재사용 가능하고 규칙 기반인 데이터 변환을 생성할 수 있습니다. 데이터 온보딩의 일부로 변환을 수행하거나 재사용 가능한 변환 데이터 태스크를 생성할 수 있습니다. 행 수준 변환을 수행하고, SQL 변환을 포함하며, 복잡한 변환 흐름을 설계할 수 있습니다. 결과 데이터 세트는 테이블로 구체화되거나 즉석에서 변환을 수행하는 뷰로 생성될 수 있습니다.
-
명시적인 데이터 세트 변환을 수행하거나 여러 데이터 세트를 변환하는 전역 규칙을 생성할 수 있습니다. 데이터 세트를 필터링하여 행의 하위 집합을 생성할 수도 있습니다.
-
SQL 변환을 추가할 수 있습니다. SQL 변환을 사용하면 파이프라인에 SQL SELECT 쿼리를 입력하여 복잡하거나 간단한 변환을 정의할 수 있습니다.
-
소스, 프로세서 및 대상이 포함된 시각적 변환 흐름을 추가하여 복잡하거나 간단한 변환을 정의할 수 있습니다.
변환 데이터 태스크에는 세 가지 뷰가 포함됩니다.
-
변환
이 뷰는 소스 데이터 세트에서 대상 데이터 세트로의 흐름을 시각화하기 위해 모든 변환을 표시합니다.
-
데이터 세트
이 뷰는 데이터 필터링 또는 열 추가와 같은 데이터 세트의 모든 기본 변환과 전역 변환을 수행하는 규칙을 표시합니다.
-
모델
이 뷰를 사용하면 포함된 데이터 세트 간의 관계를 사용하여 데이터 모델을 생성할 수 있습니다. 자세한 내용은 데이터 모델 만들기을 참조하십시오.
데이터 웨어하우스에 테이블을 저장하는 것 외에도 데이터 플랫폼에서 관리하는 Iceberg 테이블로 테이블을 저장할 수도 있습니다. 이 옵션은 현재 Snowflake 프로젝트에서만 사용할 수 있습니다. 작업 설정의 테이블 유형에서 Snowflake 관리 Iceberg 테이블을 선택하면 됩니다.
변환 데이터 태스크 생성
변환 데이터 태스크를 생성하는 가장 쉬운 방법은 스토리지 데이터 태스크에서 ...을 클릭한 다음 데이터 변환을 선택하는 것입니다.
프로젝트에서 생성을 클릭하고 데이터 변환을 선택할 수도 있습니다. 이 경우 사용할 소스 데이터 태스크를 정의해야 합니다.
-
변환에서 소스 데이터 및 대상을 정의합니다.
다음 중 하나를 수행할 수 있습니다.
-
데이터 세트 변환 수행
소스 데이터 세트를 선택하고 대상에 추가를 클릭하여 대상에 추가합니다.
그런 다음 데이터 세트에서 데이터 필터링 또는 열 추가와 같은 데이터 세트에 대한 기본 변환을 수행할 수 있습니다.
자세한 내용은 데이터 집합 관리을 참조하십시오.
-
SQL 변환 추가
소스 데이터 세트를 선택하고 SQL 변환 추가를 클릭합니다.
SQL 변환을 사용하면 파이프라인에 SQL SELECT 쿼리를 입력하여 복잡하거나 간단한 변환을 정의할 수 있습니다.
자세한 내용은 SQL 변환 추가을 참조하십시오.
-
변환 흐름 추가
소스 데이터 세트를 선택하고 변환 흐름 추가를 클릭합니다.
흐름 디자이너를 사용하면 소스, 프로세서 및 대상이 포함된 변환 흐름을 생성하여 복잡하거나 간단한 변환을 정의할 수 있습니다.
자세한 내용은 transformation flow 추가을 참조하십시오.
-
-
소스 데이터 선택을 클릭하여 다른 스토리지 데이터 태스크에서 더 많은 데이터 세트를 추가할 수도 있습니다.
현재 프로젝트 또는 다른 프로젝트에서 데이터 세트를 추가할 수 있습니다. 다른 프로젝트에서 데이터 세트를 추가하려면:
-
사용 중인 프로젝트의 공간에서 최소한 사용 가능 역할이 있어야 합니다.
-
두 프로젝트 모두 동일한 데이터 플랫폼에 있어야 합니다.
선택한 프로젝트가 버전 제어 중인 경우 소스로 사용할 분기를 선택할 수 있습니다. 교차 프로젝트 파이프라인에 대한 자세한 내용은 교차 프로젝트 파이프라인 구축를 참조하십시오.
-
-
원하는 변환을 추가했으면 데이터 세트 유효성 검사를 클릭하여 데이터 세트의 유효성을 검사합니다. 유효성 검사에서 오류가 발견되면 오류를 수정한 후 계속 진행하십시오.
자세한 내용은 데이터 집합 검증 및 조정를 참조하십시오.
-
데이터 모델 생성
모델을 클릭하여 포함된 데이터 세트 간의 관계를 설정합니다.
자세한 내용은 데이터 모델 만들기을 참조하십시오.
-
준비를 클릭하여 데이터 태스크 및 모든 필수 아티팩트를 준비합니다. 이 작업은 시간이 조금 걸릴 수 있습니다.
화면 하단의 준비 진행률에서 진행 상황을 팔로우할 수 있습니다.
정보 메모작업을 준비하기 전에 바로 아래에 있는 모든 작업을 중지합니다. -
상태가 준비됨으로 표시되면 데이터 태스크를 실행할 수 있습니다.
...을 클릭한 다음 실행을 클릭합니다.
이제 데이터 태스크가 데이터를 변환하기 위해 데이터 세트 생성을 시작합니다.
변환 뷰 사용
변환에서는 소스 데이터 세트에서 대상 데이터 세트로의 흐름을 시각화하기 위해 모든 변환이 표시됩니다.
-
변환을 선택하여 사용된 소스 데이터 세트와 생성된 대상 데이터 세트를 확인합니다.
-
소스를 선택하여 해당 소스가 사용된 모든 변환과 모든 결과 대상을 확인합니다.
-
대상을 선택하여 소스 데이터 세트가 무엇인지, 어떤 변환이 이 대상 데이터 세트를 생성했는지 확인합니다.
변환의 변환 뷰

표시 옵션을 클릭하여 다음 설정을 변경할 수 있습니다.
-
변환 유형별 필터링
하나 또는 두 개의 변환 유형에 대한 변환만 표시합니다.
-
필터
모든 변환 또는 선택한 변환만 표시합니다. 이 옵션을 활성화하려면 변환을 선택해야 합니다.
-
밀도
변환을 컴팩트 레이아웃으로 표시할지, 아니면 더 많은 공간을 사용하는 넓은 레이아웃으로 표시할지 선택합니다.
데이터 세트 뷰 사용
데이터 세트에서 변환 태스크의 모든 대상 데이터 세트를 보고 편집할 수 있습니다.
자세한 내용은 데이터 집합 관리를 참조하십시오.
대상 데이터 세트 추가
변환 태스크에 더 많은 대상 데이터 세트를 추가할 수 있습니다.
-
를 클릭합니다.
-
데이터 세트의 이름과 선택적으로 설명을 제공합니다.
-
소스 데이터 세트의 태스크에서 사용 가능한 데이터 세트 중 소스 데이터 세트를 선택합니다.
팁 메모소스 데이터 세트 없음을 선택하여 소스에 연결되지 않은 빈 데이터 세트를 생성할 수 있습니다. 설계 중에 데이터 세트에 열을 추가할 수 있지만 태스크를 준비하려면 먼저 소스 데이터 세트에 연결해야 합니다.
이제 대상 데이터 세트가 추가되었습니다.
소스 데이터 세트 변경
대상 데이터 세트의 소스 데이터 세트를 변경할 수 있습니다.
-
소스: [소스 데이터 세트 이름] 뒤에 있는
을 클릭합니다.
-
소스 데이터 세트의 태스크에서 사용 가능한 데이터 세트 중 다른 소스 데이터 세트를 선택합니다.
팁 메모소스 데이터 세트 없음을 선택하여 소스에서 대상 데이터 세트의 연결을 해제할 수 있습니다. 설계 중에 데이터 세트를 편집할 수 있지만 태스크를 준비하려면 먼저 소스 데이터 세트에 연결해야 합니다.
새 열 추가
대상 데이터 세트에 새 열을 추가할 수 있습니다.
-
처음부터 새 열 추가
+ 추가를 클릭합니다.
열의 이름을 제공하고 열 데이터를 정의하는 표현식을 설정합니다.
자세한 내용은 데이터 세트에 열 추가을 참조하십시오.
-
소스에서 열 추가
추가 옆에 있는
를 클릭하고 소스에서 열 추가를 선택합니다.
소스 데이터 세트에서 열을 선택합니다.
열 순서 변경
열의 서수 위치를 변경할 수 있습니다.
-
열을 선택합니다.
-
를 클릭한 다음 순서 변경을 클릭합니다.
-
화살표를 사용하여 열을 위나 아래로 이동합니다.
-
준비가 되면 서수 변경을 닫습니다.
변환 규칙 생성
데이터 세트에서 전역 변환을 수행하기 위해 재사용 가능한 변환 규칙을 생성할 수 있습니다.
규칙 생성에 대한 자세한 내용은 데이터 집합을 변환하는 규칙 만들기를 참조하십시오.
데이터 세트 필터링
필요한 경우 데이터를 필터링하여 행의 하위 집합을 생성할 수 있습니다.
-
를 클릭한 다음 필터를 클릭합니다.
필터링에 대한 자세한 내용은 데이터 집합 필터링를 참조하십시오.
변환 태스크 예약
주기적으로 업데이트되도록 변환 태스크를 예약할 수 있습니다. 시간 기반 일정을 설정하거나 입력 데이터 태스크 실행이 완료될 때 태스크가 실행되도록 설정할 수 있습니다.
데이터 태스크에서 ...을 클릭하고 예약을 선택하여 일정을 생성합니다. 기본 예약 설정은 프로젝트의 설정에서 상속됩니다. 기본 설정에 대한 자세한 내용은 변환 기본값를 참조하십시오.
일정을 활성화하려면 항상 예약을 켜기로 설정해야 합니다.
시간 기반 일정
시간 기반 일정을 사용하면 다른 입력 소스가 업데이트되는 시기와 관계없이 태스크를 실행할 수 있습니다.
-
데이터 태스크 실행에서 특정 시간을 선택합니다.
매시간, 매일, 매주 또는 매월 일정을 설정할 수 있습니다.
이벤트 기반 일정
이벤트 기반 일정을 사용하면 입력 데이터 태스크 실행이 완료될 때 태스크를 실행할 수 있습니다.
-
데이터 태스크 실행에서 특정 이벤트 발생 시를 선택합니다.
입력 태스크 중 하나가 성공적으로 완료될 때 또는 선택한 입력 태스크 중 하나가 성공적으로 완료될 때 태스크를 실행할지 선택할 수 있습니다.
변환 태스크 모니터링
모니터를 클릭하여 변환 태스크의 상태 및 진행률을 모니터링할 수 있습니다.
자세한 내용은 개별 데이터 작업 모니터링를 참조하십시오.
데이터 다시 로드
데이터가 물리적 테이블로 구체화된 경우 테이블을 수동으로 다시 로드할 수 있습니다. 이는 하나 이상의 테이블에 문제가 있을 때 유용합니다.
-
데이터 태스크를 열고 모니터 탭을 선택합니다.
-
다시 로드할 테이블을 선택합니다.
-
테이블 다시 로드를 클릭합니다.
다시 로드는 다음에 태스크가 실행될 때 발생합니다. 다시 로드 프로세스는 각 데이터 세트의 기록 설정 및 변환 유형에 따라 다르게 작동합니다. 즉, 데이터 태스크의 데이터 세트 간에 다시 로드 프로세스가 다를 수 있습니다.
-
데이터 세트 변환은 자르기 및 로드를 통해 다시 로드됩니다.
-
SQL 변환 및 변환 흐름은 자르기 및 로드하거나 비교 및 적용하여 다시 로드할 수 있습니다. 비교하고 적용하는 것이 모범 사례입니다.
다시 로드 취소를 클릭하여 다시 로드가 보류 중인 테이블에 대한 다시 로드를 취소할 수 있습니다. 이는 이미 다시 로드된 테이블에는 영향을 미치지 않으며 현재 실행 중인 다시 로드는 완료됩니다.
변경 사항을 적용하고 소급 적용을 방지하기 위해 다운스트림 태스크가 다시 로드됩니다.
데이터 변환 태스크를 다시 로드한 후의 다운스트림 영향

다운스트림에 미치는 영향은 실행된 다시 로드 작업의 유형과 즉각적인 다운스트림 데이터 세트의 유형에 따라 다릅니다. 표준 처리는 데이터 세트가 특정 데이터 세트에 대해 구성된 방법을 사용하여 반응하고 데이터를 처리함을 의미합니다.
자르기 및 로드를 통해 데이터 세트 다시 로드
-
다음 데이터 세트가 데이터 세트 변환을 사용하는 경우 다음 실행 시 자르기 및 로드를 통해 다시 로드됩니다.
-
다음 데이터 세트가 SQL 변환 또는 변환 흐름인 경우 비교 및 적용을 사용하여 다시 로드됩니다.
기록이 없는 데이터 세트 다시 로드
이 경우 고려할 기록이 없습니다. 대상에 대한 처리를 줄이기 위해 다시 로드는 다음을 통해 수행됩니다.
-
테이블 자르기.
-
업스트림 데이터 태스크에서 현재 데이터 로드.
변경 사항을 적용하기 위해 다운스트림 태스크가 다시 로드됩니다.
기록이 활성화된 데이터 세트 다시 로드
다시 로드는 다음을 통해 수행됩니다.
-
현재, 이전 및 변경 테이블 자르기.
-
이전 테이블을 포함하여 업스트림 데이터 태스크에서 데이터 로드.
SQL 변환 또는 변환 흐름을 기반으로 데이터 세트 다시 로드
-
자르기 및 다시 로드
정보 메모이 옵션은 기록 손실을 유발할 수 있습니다.-
현재 및 변경 테이블 자르기.
-
쿼리를 실행하고 현재 테이블에 로드.
-
-
다시 로드 및 비교
-
쿼리를 실행하고 현재 테이블과 비교.
-
변경 사항 추가.
-
태스크 삭제
데이터 작업이 실행 중이 아니고 동일한 프로젝트의 다운스트림 작업에 종속성이 없는 경우 데이터 작업을 삭제할 수 있습니다.
-
프로젝트의 파이프라인 프로젝트 보기에서 작업에서
을 클릭하고 삭제를 선택합니다.
이 작업으로 생성된 아티팩트(테이블 및 뷰)도 유지하도록 선택하지 않는 한 삭제됩니다.
작업 정보 보기
메뉴 막대에서 를 클릭하여 작업 정보를 볼 수 있습니다(예:).
-
소유자
-
공간
-
데이터 플랫폼
-
프로젝트 ID
-
데이터 작업 런타임 ID
변환 설정
변환 데이터 태스크에 대한 속성을 설정할 수 있습니다.
-
설정을 클릭합니다.
일반 설정
-
데이터베이스
데이터 소스에서 사용할 데이터베이스입니다.
-
태스크 스키마
데이터 태스크 스키마의 이름을 변경할 수 있습니다. 기본 이름은 태스크의 이름입니다.
-
내부 스키마
내부 스토리지 스키마의 이름을 변경할 수 있습니다. 기본 이름은 "__internal"이 추가된 태스크의 이름입니다.
-
스키마 이름의 기본 대문자화
모든 스키마 이름에 대한 기본 대문자화를 설정할 수 있습니다. 데이터베이스가 대문자화를 강제하도록 구성된 경우 이 옵션은 적용되지 않습니다.
- 모든 테이블 및 보기에 대한 접두사
이 작업으로 만들어진 모든 테이블 및 뷰에 대한 접두사를 설정할 수 있습니다.
정보 메모여러 데이터 작업에서 데이터베이스 스키마를 사용하려는 경우 고유한 접두사를 사용해야 합니다. -
구체화됨
즉석에서 변환을 수행하는 뷰만 생성(구체화되지 않음)하거나 테이블과 뷰를 모두 생성(구체화됨)하도록 선택할 수 있습니다.
-
기록 데이터 저장소(유형 2)
기록 변경 데이터를 유지하여 특정 시점의 데이터를 쉽게 다시 생성할 수 있습니다. 기록 뷰 및 라이브 기록 뷰를 사용하여 기록 데이터를 볼 수 있습니다.
-
카탈로그에 게시
이 버전의 데이터를 카탈로그에 데이터 집합으로 게시하려면 이 옵션을 선택합니다. 다음에 이 작업을 준비하면 카탈로그 콘텐츠가 업데이트됩니다.
카탈로그에 대한 자세한 내용은 카탈로그 도구를 사용하여 데이터 이해를 참조하십시오.
런타임 설정
-
병렬 실행
전체 로드에 대한 최대 연결 수를 1에서 5 사이의 숫자로 설정할 수 있습니다.
-
웨어하우스
클라우드 데이터 웨어하우스의 이름입니다.
뷰 유형 설정
뷰 유형 설정은 Snowflake에만 적용됩니다.
-
표준 뷰
대부분의 경우 표준 뷰를 사용합니다.
-
Snowflake 보안 뷰
기본 테이블의 모든 사용자에게 노출되어서는 안 되는 민감한 데이터에 대한 액세스를 제한하기 위해 생성된 뷰와 같이 데이터 개인 정보 보호 또는 민감한 정보 보호를 위해 지정된 뷰에는 Snowflake 보안 뷰를 사용합니다.
정보 메모 Snowflake 보안 뷰는 표준 뷰보다 느리게 실행될 수 있습니다.
테이블 유형 설정
이러한 설정은 Snowflake를 데이터 플랫폼으로 사용하는 프로젝트에서만 사용할 수 있습니다.
-
테이블 유형
사용할 테이블 유형을 선택할 수 있습니다.
-
Snowflake 테이블
-
Snowflake 관리 Iceberg 테이블
Snowflake 외부 볼륨에서 외부 볼륨의 기본 이름을 설정해야 합니다.
-
-
사용할 클라우드 저장소 폴더
스테이징 영역에 데이터를 랜딩할 때 사용할 폴더를 선택합니다.
-
기본 폴더
그러면 기본 이름이 <프로젝트 이름>/<데이터 작업 이름>인 폴더가 만들어집니다.
-
루트 폴더
저장소의 루트 폴더에 데이터를 저장합니다.
-
폴더
사용할 폴더 이름을 지정합니다.
-
-
Snowflake Open Catalog와 동기화
이 기능을 활성화하면 Snowflake Open 카탈로그가 클라우드 파일 저장소에 있는 파일을 관리할 수 있습니다.
모범 사례
-
팩트 및 차원이 추가된 경우 데이터 마트의 데이터 세트에 대한 소스를 변경할 수 없습니다. 유연성을 원한다면 소스를 변경하고 모든 소스 태스크에 대한 모델을 갖는 데 사용할 수 있는 구체화되지 않은 뷰가 포함된 선행 변환 태스크를 추가할 수 있습니다.
제한 사항
-
구체화되지 않음 옵션이 선택된 경우 변환 데이터 태스크에서 데이터 유형을 변경할 수 없습니다.
-
SQL 변환 또는 변환 흐름에서 생성된 데이터 세트에는 필드 수준 계보를 사용할 수 없습니다.
-
추가 전용으로 설정된 Qlik 오픈 레이크하우스미러 태스크에서 읽기 위해 대상에 추가를 사용하는 것은 지원되지 않습니다.
해결 방법으로 SQL 변환 또는 변환 흐름을 사용하여 데이터를 읽을 수 있습니다.