다음을 통해 공유


매핑 데이터 흐름의 서로게이트 키 변환

적용 대상: Azure Data Factory Azure Synapse Analytics

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

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

서로게이트 키 변환을 사용하여 데이터의 각 행에 증분 키 값을 추가합니다. 이는 별모양 스키마 분석 데이터 모델에서 차원 테이블을 디자인할 때 유용합니다. 별모양 스키마에서 차원 테이블의 각 구성원에는 비즈니스 키가 아닌 고유 키가 필요합니다.

구성

Surrogate Key Transform

키 열: 생성된 서로게이트 키 열의 이름입니다.

시작 값: 생성될 가장 낮은 키 값입니다.

기존 소스의 키 증가

소스에 있는 값에서 시퀀스를 시작하려면 캐시 싱크를 사용하여 해당 값을 저장하고 파생 열 변환을 사용하여 두 값을 함께 추가하는 것이 좋습니다. 캐시된 조회를 사용하여 출력을 가져와 생성된 키에 추가합니다. 자세한 내용은 캐시 싱크캐시된 조회에 대해 알아봅니다.

Surrogate Key lookup

기존 최댓값에서 증분

키 값을 이전 최댓값으로 시드하기 위해 원본 데이터의 위치에 따라 사용할 수 있는 두 가지 기술이 있습니다.

데이터베이스 원본

SQL 쿼리 옵션을 사용하여 원본에서 MAX()를 선택합니다. 예: Select MAX(<surrogateKeyName>) as maxval from <sourceTable>.

Surrogate Key Query

파일 원본

이전 최댓값이 파일에 있는 경우 집계 변환에서 max() 함수를 사용하여 이전 최댓값을 가져옵니다.

Surrogate Key File

두 경우 모두 캐시 싱크에 쓰고 값을 조회해야 합니다.

데이터 흐름 스크립트

구문

<incomingStream> 
    keyGenerate(
        output(<surrogateColumnName> as long),
        startAt: <number>L
    ) ~> <surrogateKeyTransformationName>

예시

Surrogate Key Transform

위의 서로게이트 키에 대한 데이터 흐름 스크립트는 아래 코드 조각에 나와 있습니다.

AggregateDayStats
    keyGenerate(
        output(key as long),
        startAt: 1L
    ) ~> SurrogateKey1

이 예에서는 조인파생 열 변환을 사용합니다.