다음을 통해 공유


데이터 흐름 매핑의 파생된 열 변환

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

데이터 흐름은 Azure Data Factory 및 Azure Synapse Pipelines 모두에서 사용할 수 있습니다. 이 문서는 매핑 데이터 흐름에 적용됩니다. 변환을 처음 사용하는 경우 매핑 데이터 흐름을 사용하여 데이터 변환 소개 문서를 참조하세요.

파생 열 변환을 사용하여 데이터 흐름에 새 열을 생성하거나 기존 필드를 수정합니다.

열 만들기 및 업데이트

파생 열을 만드는 경우 새 열을 생성하거나 기존 열을 업데이트할 수 있습니다. 텍스트 상자에 만들려는 열을 입력합니다. 스키마의 기존 열을 재정의하려면 열 드롭다운을 사용할 수 있습니다. 파생 열의 식을 작성하려면 식 입력 텍스트 상자를 클릭합니다. 식 입력을 시작하거나 식 작성기를 열어 논리를 생성할 수 있습니다.

파생 열 설정

파생 열을 더 추가하려면 열 목록 위의 추가를 클릭하거나 기존 파생 열 옆에 있는 더하기 아이콘을 클릭합니다. 열 추가 또는 열 패턴 추가를 선택합니다.

새 파생 열 선택

열 패턴

스키마가 명시적으로 정의되지 않았거나 열 집합을 대량으로 업데이트하려는 경우 열 패턴을 만드는 것이 좋습니다. 열 패턴을 사용하면 열 메타데이터에 따라 규칙을 통해 열을 일치시키고 일치하는 각 열의 파생 열을 만들 수 있습니다. 자세한 내용은 파생 열 변환에서 열 패턴을 작성하는 방법을 참조하세요.

열 패턴

식 작성기를 사용하여 스키마 작성

매핑 데이터 흐름 식 작성기를 사용하는 경우 파생 열 섹션에서 파생 열을 만들고 편집하고 관리할 수 있습니다. 변환에서 생성 또는 변경된 모든 열이 나열됩니다. 열 이름을 클릭하여 편집할 열이나 패턴을 대화형으로 선택합니다. 열을 더 추가하려면 새로 만들기를 선택한 다음, 단일 열 또는 패턴을 추가할지를 선택합니다.

새 열 만들기

복합 열로 작업하는 경우 하위 열을 만들 수 있습니다. 이렇게 하려면 아무 열이나 옆에 있는 더하기 아이콘을 클릭하고 하위 열 추가를 선택합니다. 데이터 흐름의 복합 형식을 처리하는 방법에 대한 자세한 내용은 매핑 데이터 흐름의 JSON 처리를 참조하세요.

하위 열 추가

데이터 흐름의 복합 형식을 처리하는 방법에 대한 자세한 내용은 매핑 데이터 흐름의 JSON 처리를 참조하세요.

복합 열 추가

데이터 흐름 스크립트

구문

<incomingStream>
    derive(
           <columnName1> = <expression1>,
           <columnName2> = <expression2>,
           each(
                match(matchExpression),
                <metadataColumn1> = <metadataExpression1>,
                <metadataColumn2> = <metadataExpression2>
               )
          ) ~> <deriveTransformationName>

예시

아래 예제는 들어오는 스트림 MoviesYear를 사용하고 두 개의 파생 열을 만드는 CleanData라는 파생 열입니다. 첫 번째 파생 열은 Rating 열을 정수 형식의 등급 값으로 바꿉니다. 두 번째 파생 열은 이름이 'movies'로 시작하는 각 열과 일치하는 패턴입니다. 일치하는 각 열에 대해 일치하는 열의 값에 'movie_' 접두사를 붙인 값과 같은 movie 열을 만듭니다.

UI에서 이 변환은 아래 이미지와 같습니다.

파생 예제

이 변환에 대한 데이터 흐름 스크립트는 아래 코드 조각에 있습니다.

MoviesYear derive(
                Rating = toInteger(Rating),
		        each(
                    match(startsWith(name,'movies')),
                    'movie' = 'movie_' + toString($$)
                )
            ) ~> CleanData