매핑 데이터 흐름을 사용한 Delta Lake의 데이터 변환
적용 대상: Azure Data Factory Azure Synapse Analytics
팁
기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!
Azure Data Factory를 처음 사용하는 경우 Azure Data Factory 소개를 참조하세요.
이 자습서에서는 데이터 흐름 캔버스를 사용하여 ADLS(Azure Data Lake Storage) Gen2에서 데이터를 분석 및 변환하고 Delta Lake에 저장할 수 있는 데이터 흐름을 만듭니다.
필수 조건
- Azure 구독. Azure 구독이 아직 없는 경우 시작하기 전에 Azure 체험 계정을 만듭니다.
- Azure 스토리지 계정. ADLS 스토리지를 원본 및 싱크 데이터 저장소로 사용합니다. 스토리지 계정이 없는 경우 Azure Storage 계정 만들기를 참조하세요.
이 지침서에서 변환하는 파일은 MoviesDB.csv이며, 여기에서 찾을 수 있습니다. GitHub에서 파일을 검색하려면 해당 콘텐츠를 원하는 텍스트 편집기에 복사하여 로컬에 .csv 파일로 저장합니다. 스토리지 계정에 파일을 업로드하려면 Azure Portal을 사용하여 Blob 업로드를 참조하세요. 이 예에서는 ‘sample-data’라는 컨테이너를 참조합니다.
데이터 팩터리 만들기
이 단계에서는 데이터 팩터리를 만들고, Data Factory UX를 열어서 데이터 팩터리에 파이프라인을 만듭니다.
Microsoft Edge 또는 Google Chrome을 엽니다. 현재 Data Factory UI는 Microsoft Edge 및 Google Chrome 웹 브라우저에서만 지원됩니다.
왼쪽 메뉴에서 리소스 만들기>통합>Data Factory를 선택합니다.
새 데이터 팩터리 페이지의 이름 아래에서 ADFTutorialDataFactory를 입력합니다.
데이터 팩터리를 만들 Azure 구독을 선택합니다.
리소스 그룹에 대해 다음 단계 중 하나를 사용합니다.
a. 기존 항목 사용을 선택하고 드롭다운 목록에서 기존 리소스 그룹을 선택합니다.
b. 새로 만들기를 선택하고, 리소스 그룹의 이름을 입력합니다.
리소스 그룹에 대한 자세한 내용은 리소스 그룹을 사용하여 Azure 리소스 관리를 참조하세요.
버전에서 V2를 선택합니다.
위치에서 데이터 팩터리의 위치를 선택합니다. 지원되는 위치만 드롭다운 목록에 표시됩니다. 데이터 팩터리에 사용되는 데이터 저장소(예: Azure Storage, SQL Database) 및 컴퓨팅(예: Azure HDInsight)은 다른 지역에 있을 수 있습니다.
만들기를 실행합니다.
만들기가 완료되면 알림 센터에 알림이 표시됩니다. 리소스로 이동을 선택하여 Data Factory 페이지로 이동합니다.
작성 및 모니터링을 선택하여 별도의 탭에서 Data Factory UI를 선택합니다.
데이터 흐름 작업으로 파이프라인 만들기
이 단계에서는 데이터 흐름 작업을 포함하는 파이프라인을 만듭니다.
홈페이지에서 오케스트레이션을 선택합니다.
파이프라인의 일반 탭에서 파이프라인의 이름으로 DeltaLake를 입력합니다.
작업 창에서 이동 및 변환 아코디언을 확장합니다. 데이터 흐름 작업을 창에서 파이프라인 캔버스로 끌어다 놓습니다.
데이터 흐름 추가 팝업에서 새 데이터 흐름 만들기를 선택하고 데이터 흐름의 이름을 DeltaLake로 설정합니다. 완료되었으면 마침을 클릭합니다.
파이프라인 캔버스의 상단 막대에서 데이터 흐름 디버그 슬라이더를 밉니다. 디버그 모드에서는 라이브 Spark 클러스터에 대한 변환 논리의 대화형 테스트를 수행할 수 있습니다. 데이터 흐름 클러스터는 준비하는 데 5~7분 정도 걸리며, 데이터 흐름 개발을 수행할 계획이라면 우선 디버그를 사용하도록 설정하는 것이 좋습니다. 자세한 내용은 디버그 모드를 참조하세요.
데이터 흐름 캔버스에서 변환 논리 빌드
이 자습서에서 두 개의 데이터 흐름을 생성합니다. 첫 번째 데이터 흐름은 영화 CSV 파일에서 새 Delta Lake를 생성하는 간단한 원본에서 싱크로의 흐름입니다. 마지막으로 뒤따르는 흐름 디자인을 만들어 Delta Lake에서 데이터를 업데이트합니다.
자습서 목표
- 필수 구성 요소에서 MoviesCSV 데이터 세트 원본을 사용하고 이로부터 새 Delta Lake를 형성합니다.
- 1988년 영화의 등급을 ‘1’로 업데이트하는 논리를 빌드합니다.
- 1950년에서 모든 영화를 삭제합니다.
- 1960년에서 영화를 복제하여 2021년의 새 영화를 삽입합니다.
빈 데이터 흐름 캔버스에서 시작합니다.
데이터 흐름 편집기 창의 맨 위에서 원본 변환을 선택한 다음, 원본 설정 창에서 데이터 세트 속성 옆에 있는 + 새로 만들기 선택합니다.
표시되는 새 데이터 세트 창에서 Azure Data Lake Storage Gen2를 선택한 다음, 계속하기를 선택합니다.
데이터 세트 형식에서 DelimitedText를 선택하고 다시 계속하기를 선택합니다.
데이터 세트에 “MoviesCSV” 이름을 지정한 다음, 연결된 서비스에서 + 새로 만들기를 선택하여 파일에 연결되는 새 서비스를 만듭니다.
필수 구성 요소 섹션에서 이전에 만든 스토리지 계정에 대한 세부 정보를 입력하고, 거기에서 업로드한 MoviesCSV 파일을 찾아 선택합니다.
연결된 서비스를 추가한 후 첫 번째 행을 머리글로 확인란으로 선택한 다음, 확인을 선택하여 원본을 추가합니다.
데이터 흐름 설정 창의 프로젝션 탭으로 이동한 다음, 데이터 형식 검색을 선택합니다.
이제 데이터 흐름 편집기 창에서 원본 뒤의 +을(를) 선택하고 아래로 스크롤하여 대상 섹션에서 싱크를 선택하여 데이터 흐름에 새 싱크를 추가합니다.
싱크가 추가된 후 나타나는 싱크 설정을 위한 싱크 탭에서 싱크 유형은 인라인을 선택한 다음, 인라인 데이터 세트 형식은 델타를 선택합니다. 그런 다음 연결된 서비스에서 Azure Data Lake Storage Gen2를 선택합니다.
서비스에서 Delta Lake를 만들도록 하려는 스토리지 컨테이너의 폴더 이름을 선택합니다.
마지막으로 파이프라인 디자이너로 돌아가서 디버그를 선택하여 캔버스에 이 데이터 흐름 작업으로만 파이프라인을 디버그 모드로 실행합니다. 그러면 Azure Data Lake Storage Gen2에서 새 Delta Lake가 생성됩니다.
이제 화면 왼쪽의 팩터리 리소스 메뉴에서 +을(를) 선택하여 새 리소스를 추가한 다음 데이터 흐름을 선택합니다.
이전과 마찬가지로 다시 MoviesCSV 파일을 원본으로 선택한 다음 프로젝션 탭에서 데이터 형식 검색을 선택합니다.
이번에는 원본을 만든 후 데이터 흐름 편집기 창에서 +을(를) 선택하고 원본에 필터 변환을 추가합니다.
1950, 1960 및 1988과 일치하는 영화 행만 허용하는 필터 설정 창 필터 켜기 조건을 추가합니다.
이제 파생 열 변환을 추가하여 각 1988년 영화의 등급을 '1'로 업데이트합니다.
대체 행 변환에서
Update, insert, delete, and upsert
정책이 만들어집니다. 파생 열 뒤에 대체 행 변환을 추가합니다.대체 행 정책은 다음과 같이 표시됩니다.
각 대체 행 형식에 대한 적절한 정책을 설정했으므로 싱크 변환에 적절한 업데이트 규칙이 설정되었는지 확인합니다.
여기서는 Delta Lake 싱크를 Azure Data Lake Storage Gen2 데이터 레이크에 사용하고 삽입, 업데이트, 삭제를 허용합니다.
키 열은 영화 기본 키 열과 연도 열로 구성된 복합 키입니다. 1960년 행을 복제하여 가짜 2021년 영화를 만들기 때문입니다. 이렇게 하면 고유성을 제공하여 기존 행을 조회할 때 충돌을 방지합니다.
다운로드 완료 샘플
다음은 레이크에서의 행 업데이트/삭제에 데이터 흐름을 사용하는 Delta 파이프라인의 샘플 솔루션입니다.
관련 콘텐츠
Data Flow 표현 언어에 대한 자세한 정보를 알아봅니다.