모듈 2: Data Factory에서 데이터 흐름을 사용하여 데이터 변환

이 모듈은 데이터 흐름을 만들고, 변환을 적용하고, Bronze 테이블에서 Gold Lakehouse 테이블로 원시 데이터를 이동하는 데 약 25분이 걸립니다.

마지막 모듈에서 Bronze Lakehouse 테이블에 원시 데이터를 로드하면 이제 해당 데이터를 준비하고 특정 일 동안 각 공급업체 및 해당 여정에 대한 할인이 포함된 다른 테이블과 결합하여 데이터를 보강할 수 있습니다. 이 최종 골드 레이크 하우스 테이블이 로드되고 사용할 준비가되었습니다.

데이터 흐름의 개략적인 단계는 다음과 같습니다.

Lakehouse 테이블에서 데이터 가져오기

  1. 사이드바에서 만들기를 선택한 다음 Dataflow Gen2를 선택하여 새 데이터 흐름 gen2를 만듭니다. Screenshot showing the Fabric Create page with the Dataflow Gen2 button highlighted.

  2. 새 데이터 흐름 메뉴에서 데이터 가져오기를 선택한 다음 자세히...를 선택합니다.

    Screenshot showing the Dataflow menu with Get data button highlighted and the More... option highlighted from its menu.

  3. Lakehouse 커넥터를 검색하여 선택합니다.

    Screenshot showing the selection of the Lakehouse data source from the Choose data source menu.

  4. 데이터 원본에 대한 커넥트 대화 상자가 나타나고 현재 로그인한 사용자를 기반으로 새 연결이 자동으로 만들어집니다. 다음을 선택합니다.

    Screenshot showing the configuration of the data source settings for your new Lakehouse with your current signed in user, and the Next button selected.

  5. 데이터 선택 대화 상자가 표시됩니다. 탐색 창을 사용하여 이전 모듈에서 대상에 대해 만든 Lakehouse를 찾고 Tutorial_Lakehouse 데이터 테이블을 선택합니다.

    Screenshot showing the Lakehouse browser with the workspace, lakehouse, and table created with the Copy activity in module 1.

  6. (선택 사항) 캔버스가 데이터로 채워지면 데이터 프로파일링에 유용하므로 열 프로필 정보를 설정할 수 있습니다. 올바른 변환을 적용하고 이를 기반으로 올바른 데이터 값을 대상으로 지정할 수 있습니다.

    이렇게 하려면 리본 창에서 옵션을 선택한 다음 열 프로필에서 처음 세 가지 옵션을 선택한 다음 확인을 선택합니다.

    Screenshot showing the column options selection for your data.

Lakehouse에서 가져온 데이터 변환

  1. 두 번째 열 IpepPickupDatetime의 열 머리글에서 데이터 형식 아이콘을 선택하여 드롭다운 메뉴를 표시하고 메뉴에서 데이터 형식을 선택하여 열을 날짜/시간에서 날짜 형식으로 변환합니다. Screenshot showing the selection of the Date data type for the IpepPickupDatetime column.

  2. (선택 사항) 리본의 탭에서 열 관리 그룹에서 열 선택 옵션을 선택합니다.

    Screenshot showing the Choose columns button on the Home tab of the dataflow editor.

  3. (선택 사항) 선택 대화 상자에서 여기에 나열된 일부 열의 선택을 취소한 다음 확인을 선택합니다.

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • pickupLatitude
    • dropoffLongitude
    • rateCodeID

    Screenshot showing the Choose columns dialog with the identified columns deselected.

  4. storeAndFwdFlag 열의 필터 및 정렬 드롭다운 메뉴를 선택합니다. (경고 가 표시되는 경우목록이 불완전할 수 있습니다. 로드를 선택하여 모든 데이터를 확인합니다.)

    Screenshot showing the filter and sort dialog for the column.

  5. 'Y'를 선택하여 할인이 적용된 행만 표시한 다음 확인을 선택합니다.

    Screenshot showing the values filter with only 'Y' selected.

  6. IpepPickupDatetime 열 정렬 및 필터 드롭다운 메뉴를 선택한 다음, 날짜 필터를 선택하고 날짜 및 날짜/시간 유형에 제공된 사이... 필터를 선택합니다.

    Screenshot showing the selection of the Date filters option in the column sort and format dropdown.

  7. 필터 대화 상자에서 2015년 1월 1일과 2015년 1월 31일 사이의 날짜를 선택한 다음 확인을 선택합니다.

    Screenshot showing the selection of the dates in January 2015.

할인 데이터가 포함된 CSV 파일에 커넥트

이제 여정의 데이터를 사용하여 각 날짜 및 VendorID에 대한 할인이 포함된 데이터를 로드하고 데이터와 여행 데이터를 결합하기 전에 준비하려고 합니다.

  1. 데이터 흐름 편집기 메뉴의 홈 탭에서 데이터 가져오기 옵션을 선택한 다음 텍스트/CSV를 선택합니다.

    Screenshot showing the selection of the Get data menu from the Home tab, with Text/CSV highlighted.

  2. 데이터 원본에 대한 커넥트 대화 상자에서 다음 세부 정보를 제공합니다.

    • 파일 경로 또는 URL - https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
    • 인증 종류 - 익명

    그런 후 다음을 선택합니다.

    Screenshot showing the Text/CSV settings for the connection.

  3. 파일 데이터 미리 보기 대화 상자에서 만들기를 선택합니다.

    Screenshot showing the Preview file data dialog with the Create button highlighted.

할인 데이터 변환

  1. 데이터를 검토하면 머리글이 첫 번째 행에 있는 것처럼 보입니다. 미리 보기 표 영역의 왼쪽 위에 있는 테이블의 상황에 맞는 메뉴를 선택하여 머리글로 첫 번째 행 사용을 선택하여 머리글로 승격합니다.

    Screenshot showing the selection of the Use first row as headers option from the table context menu.

    참고 항목

    머리글을 승격한 후 데이터 흐름 편집기 맨 위에 있는 적용된 단계 창에 열의 데이터 형식에 추가 된 새 단계를 볼 수 있습니다.

  2. VendorID 열을 마우스 오른쪽 단추로 클릭하고 표시되는 상황에 맞는 메뉴에서 다른 열 피벗 해제 옵션을 선택합니다. 이렇게 하면 열을 열이 행이 되는 특성-값 쌍으로 변환할 수 있습니다.

    Screenshot showing the context menu for the VendorID column with the Unpivot other columns selection highlighted.

  3. 표의 피벗을 해제한 상태에서 특성을 두 번 클릭하고 특성을 날짜 값으로 변경하여 특성 및 값 열의 이름을 할인으로 바꿉니다.

    Screenshot showing the table columns after renaming Attribute to Date and Value to Discount.

  4. 열 이름의 왼쪽에 있는 데이터 형식 메뉴를 선택하고 날짜를 선택하여 날짜 열의 데이터 형식을 변경합니다.

    Screenshot showing the selection of the Date data type for the Date column.

  5. 할인 열을 선택한 다음 메뉴에서 변환 탭을 선택합니다. 숫자 열을 선택한 다음 하위 메뉴에서 표준 숫자 변환을 선택하고 나누기를 선택합니다.

    Screenshot showing the selection of the Divide option to transform data in the Discount column.

  6. 나누기 대화 상자에서 값 100을 입력합니다.

    Screenshot showing the Divide dialog with the value 100 entered and the OK button highlighted.

여행 및 할인 데이터 결합

다음 단계는 두 테이블을 모두 여정에 적용해야 하는 할인과 조정된 합계가 있는 단일 테이블로 결합하는 것입니다.

  1. 먼저 두 쿼리를 모두 볼 수 있도록 다이어그램 보기 단추를 전환합니다.

    Screenshot showing the Diagram view toggle button with both queries created in this tutorial displayed.

  2. nyc_taxi 쿼리를 선택하고 홈 탭에서 결합 메뉴를 선택하고 병합 쿼리를 선택한 다음 쿼리를 새로 병합합니다.

    Screenshot showing the Merge queries as new selection for the nyc_taxi query.

  3. 병합 대화 상자에서 병합 드롭다운을 위해 오른쪽 테이블에서 Generated-NYC-Taxi-Green-Discounts를 선택한 다음 대화 상자 오른쪽 위에 있는 "전구" 아이콘을 선택하여 두 테이블 간의 열 매핑을 제안합니다.

    Screenshot showing the configuration of the Merge dialog with suggested column mappings displayed.

    두 테이블에서 VendorID 및 날짜 열을 매핑하여 제안된 두 열 매핑을 각각 한 번에 하나씩 선택합니다. 두 매핑이 모두 추가되면 각 테이블에서 일치하는 열 머리글이 강조 표시됩니다.

  4. 여러 데이터 원본의 데이터를 결합하여 결과를 볼 수 있도록 허용하라는 메시지가 표시됩니다. 병합 대화 상자에서 확인을 선택합니다.

    Screenshot showing the request to approve combining data from multiple data sources, with the OK button highlighted.

  5. 테이블 영역에는 처음에 "여러 원본의 데이터를 결합하면 한 원본에서 다른 원본으로 데이터가 표시될 수 있으므로 평가가 취소되었습니다. 데이터를 공개할 가능성이 있으면 계속 선택하세요." [계속]을 선택하여 결합된 데이터를 표시합니다.

    Screenshot showing the warning about combining data from multiple data sources with the Continue button highlighted.

  6. 이전에 만든 두 쿼리와 새 병합 쿼리의 관계를 보여 주는 다이어그램 보기에서 새 쿼리를 만든 방법을 확인합니다. 편집기의 테이블 창을 보면 병합 쿼리 열 목록의 오른쪽으로 스크롤하여 테이블 값이 있는 새 열이 있는지 확인합니다. 이 열은 "생성된 NYC Taxi-Green-Discounts" 열이며 해당 유형은 [Table]입니다. 열 머리글에는 두 개의 화살표가 반대 방향으로 이동하여 테이블에서 열을 선택할 수 있는 아이콘이 있습니다. 할인을 제외한 모든 열의 선택을 취소한 다음 확인을 선택합니다.

    Screenshot showing the merged query with the column selection menu displayed for the newly generated column Generated-NYC-Taxi-Green-Discounts.

  7. 이제 행 수준에서 할인 값을 사용하여 할인 후 총 금액을 계산하는 새 열을 만들 수 있습니다. 이렇게 하려면 편집기 맨 위에 있는 열 추가 탭을 선택하고 일반 그룹에서 사용자 지정 열을선택합니다.

    Screenshot showing the Add custom column button highlighted on the General section of the Add column tab.

  8. 사용자 지정 열 대화 상자에서 파워 쿼리 수식 언어(M이라고도 함)를 사용하여 새 열을 계산하는 방법을 정의할 수 있습니다. 새 열 이름에 TotalAfterDiscount입력하고, 데이터 형식통화를 선택하고, 사용자 지정 열 수식대해 다음 M 식을 제공합니다.

    if [totalAmount] > 0 then [totalAmount] * ( 1 -[Discount] ) else [totalAmount]

    그런 다음 확인을 선택합니다.

    Screenshot showing the Custom column configuration screen with the New column name, Data type and Custom column formula highlighted.

  9. 새로 만든 TotalAfterDiscount 열을 선택한 다음 편집기 창 맨 위에 있는 변환 탭을 선택합니다. 숫자 열 그룹에서 반올림 드롭다운을 선택한 다음 라운드...를 선택합니다.

    Screenshot showing the Round... option on the Transform tab of the editor window.

  10. 라운드 대화 상자에서 소수 자릿수에 대해 2를 입력한 다음 확인을 선택합니다.

    Screenshot showing the Round dialog with 2 for the number of decimal places and the OK button highlighted.

  11. IpepPickupDatetime의 데이터 형식을 날짜/시간으로 변경합니다.

    Screenshot showing the selection of the Date/Time data type for the IpepPickupDatetime column.

  12. 마지막으로 아직 확장되지 않은 경우 편집기 오른쪽에서 쿼리 설정 창을 확장하고 쿼리 이름을 병합에서 출력으로 바꿉니다.

    Screenshot showing the renaming of the query from Merge to Output.

Lakehouse의 테이블에 출력 쿼리 로드

이제 출력 쿼리가 완전히 준비되고 데이터를 출력할 준비가 되면 쿼리의 출력 대상을 정의할 수 있습니다.

  1. 이전에 만든 출력 병합 쿼리를 선택합니다. 그런 다음 편집기에서 홈 탭을 선택하고 쿼리 그룹에서 데이터 대상을 추가하여 Lakehouse 대상을 선택합니다.

    Screenshot showing the Add data destination button with Lakehouse highlighted.

  2. 데이터 대상 대화 상자로 커넥트 연결이 이미 선택되어 있어야 합니다. 다음을 선택하여 작업을 계속할 수 있습니다.

  3. 대상 대상 선택 대화 상자에서 데이터를 로드하고 새 테이블 이름을 nyc_taxi_with_discounts 레이크하우스로 이동한 다음, 다음을 다시 선택합니다.

    Screenshot showing the Choose destination target dialog with Table name nyc_taxi_with_discounts.

  4. 대상 설정 선택 대화 상자에서 기본 업데이트 바꾸기 메서드를 그대로 두고 열이 올바르게 매핑되었는지 두 번 검사 설정 저장을 선택합니다.

    Screenshot showing the Choose destination settings dialog with the Save settings button highlighted.

  5. 기본 편집기 창으로 돌아가서 출력 테이블의 쿼리 설정 에 출력 대상이 표시되는지 확인한 다음 게시를 선택합니다.

    Important

    작업 영역에서 첫 번째 Dataflow Gen2를 만들면 Lakehouse 및 Warehouse 항목이 관련 SQL 분석 엔드포인트 및 의미 체계 모델과 함께 프로비전됩니다. 이러한 항목은 작업 영역의 모든 데이터 흐름에서 공유되며 Dataflow Gen2가 작동해야 하며 삭제해서는 안 되며 사용자가 직접 사용할 수 없습니다. 항목은 Dataflow Gen2의 구현 세부 정보입니다. 항목은 작업 영역에 표시되지 않지만 Notebook, SQL 엔드포인트, Lakehouse 및 Warehouse 환경과 같은 다른 환경에서 액세스할 수 있습니다. 이름에 있는 접두사로 항목을 인식할 수 있습니다. 항목의 접두사는 'DataflowsStaging'입니다.

  6. (선택 사항) 작업 영역 페이지에서 행을 선택한 후 표시되는 데이터 흐름 이름 오른쪽에 있는 줄임표를 선택하고 속성을 선택하여 데이터 흐름의 이름을 바꿀 수 있습니다.

    Screenshot showing the Properties option selected on the menu for a dataflow where it can be renamed.

  7. 행을 선택한 후 데이터 흐름에 대한 새로 고침 아이콘을 선택하고 완료되면 데이터 대상 설정에 구성된 대로 만들어진 새 Lakehouse 테이블이 표시됩니다.

    Screenshot showing the selection of the refresh button to refresh the dataflow.

  8. Lakehouse에서 로드된 새 테이블을 확인합니다.

Microsoft Fabric에서 Data Factory를 사용하여 첫 번째 데이터 통합을 위한 엔드 투 엔드 자습서의 두 번째 모듈에서는 다음 방법을 알아보았습니다.

  • 새 데이터 흐름 Gen2를 만듭니다.
  • 샘플 데이터를 가져오고 변환합니다.
  • 텍스트/CSV 데이터를 가져오고 변환합니다.
  • 두 데이터 원본의 데이터를 새 쿼리로 병합합니다.
  • 데이터를 변환하고 쿼리에서 새 열을 생성합니다.
  • 쿼리에 대한 출력 대상 원본을 구성합니다.
  • 새 데이터 흐름의 이름을 바꾸고 새로 고칩니다.

이제 다음 섹션으로 이동하여 데이터 파이프라인을 통합합니다.