이 모듈을 완료하는 데 약 25분이 걸립니다. 데이터 흐름을 만들고, 변환을 적용하고, 원시 데이터를 브론즈 데이터 계층 테이블에서 골드 데이터 계층 테이블로 이동합니다.
마지막 모듈에서 Bronze Lakehouse 테이블에 원시 데이터를 로드하면 이제 보강할 수 있습니다. 특정 날짜 동안 각 공급업체 및 해당 여정에 대한 할인이 포함된 다른 테이블과 결합합니다. 그런 다음, 최종 골드 레이크하우스 테이블이 로드되어 사용 준비가 완료됩니다.
데이터 흐름의 개략적인 단계는 다음과 같습니다.
- 모듈 1의 복사 작업으로 만든 Lakehouse 테이블에서 원시 데이터를 가져옵니다. Data Factory를 사용하여 파이프라인을 만듭니다.
- Lakehouse 테이블에서 가져온 데이터를 변환합니다.
- 할인 데이터가 포함된 CSV 파일에 연결합니다.
- 할인 데이터를 변환합니다.
- 여행 및 할인 데이터를 결합합니다.
- 출력 쿼리를 Gold Lakehouse 테이블에 로드합니다.
필수 조건
이 자습서 시리즈의 모듈 1: Data Factory를 사용하여 파이프라인 만들기
레이크하우스 테이블에서 데이터 가져오기
사이드바에서 작업 영역을 선택한 후, 새 항목을 선택하고, 그런 다음 Dataflow Gen2을 선택하여 새 Dataflow Gen2를 만듭니다.
새 데이터 흐름 메뉴에서 데이터 가져오기를 선택한 다음 자세히...를 선택합니다.
레이크하우스를 검색하고 커넥터를 선택합니다.
데이터 원본에 연결 대화 상자가 나타나고 현재 로그인한 사용자를 기반으로 새 연결이 자동으로 만들어집니다. 다음을 선택합니다.
데이터 선택 대화 상자가 표시됩니다. 탐색 창을 사용하여 이전 모듈에서 목적지로 만든 Lakehouse를 찾습니다. 내 작업 영역 폴더 아래에 있을 수 있습니다. Bronze 데이터 테이블을 선택합니다. 그런 다음 만들기를 선택합니다.
(선택 사항) 캔버스가 데이터로 채워지면 데이터 프로파일링에 유용하므로 열 프로필 정보를 설정할 수 있습니다. 올바른 변환을 적용하고 이를 기반으로 올바른 데이터 값을 대상으로 지정할 수 있습니다.
이렇게 하려면 리본 창에서 옵션을 선택한 다음 열 프로필에서 처음 세 가지 옵션을 선택한 다음 확인을 선택합니다.
레이크하우스에서 가져온 데이터 변환
두 번째 열 IpepPickupDatetime의 열 머리글에서 데이터 형식 아이콘을 선택하여 드롭다운 메뉴를 표시하고 메뉴에서 데이터 형식을 선택하여 열을 날짜/시간에서 날짜 형식으로 변환합니다.
(선택 사항) 리본의 홈 탭에서 열 선택 옵션을 열 관리 그룹에서 선택합니다.
(선택 사항)열 선택 대화 상자에서 여기에 나열된 일부 열의 선택을 취소한 다음 확인을 선택합니다.
- 업체 ID
- lpepPickupDatetime
- 승객 수
- 여행 거리
- picukupLongitude
- dropoffLatitude
- storeAndFwdFlag
- 총액
storeAndFwdFlag 열의 필터 및 정렬 드롭다운 메뉴를 선택합니다. (경고 가 표시되는 경우 목록이 불완전할 수 있습니다. 더 로드하기를 선택하여 모든 데이터를 확인합니다.)
'Y'를 선택하여 할인이 적용된 행만 표시한 다음 확인을 선택합니다.
데이터가 필터링될 때까지 기다립니다.
IpepPickupDatetime 열 정렬 및 필터 드롭다운 메뉴를 선택한 다음, 날짜 필터를 선택하고 날짜 및 날짜/시간 유형에 제공된 사이... 필터를 선택합니다.
행 필터 대화 상자에서 2015년 1월 1일과 2015년 1월 31일 사이의 날짜를 선택한 다음 확인을 선택합니다.
데이터가 필터링될 때까지 기다립니다.
할인 데이터가 포함된 CSV 파일에 연결
여정 데이터를 바탕으로 각 날짜와 VendorID에 대한 할인이 포함된 데이터를 로드하고 이를 결합하기 전에 데이터를 준비하고자 합니다.
데이터 흐름 편집기 메뉴의 홈 탭에서 데이터 가져오기 옵션을 선택한 다음 텍스트/CSV를 선택합니다.
데이터 원본에 연결 대화 상자에서 다음 세부 정보를 제공합니다.
-
파일 경로 또는 URL -
https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv - 인증 종류 - 익명
그런 후 다음을 선택합니다.
-
파일 경로 또는 URL -
파일 데이터 미리 보기 대화 상자에서 만들기를 선택합니다.
할인 데이터 변환
데이터를 검토하면 머리글이 첫 번째 행에 있는 것을 볼 수 있습니다. 미리 보기 표 영역의 왼쪽 위에 있는 테이블의 상황에 맞는 메뉴를 선택하여 머리글로 첫 번째 행 사용을 선택하여 머리글로 승격합니다.
참고 항목
머리글을 승격한 후 데이터 흐름 편집기 맨 위에 있는 적용된 단계 창에 열의 데이터 형식에 추가 된 새 단계를 볼 수 있습니다.
VendorID 열을 마우스 오른쪽 단추로 클릭하고 표시되는 상황에 맞는 메뉴에서 다른 열 피벗 해제 옵션을 선택합니다. 이렇게 하면 열이 행이 되는 특성 값 쌍으로 열을 변환할 수 있습니다.
표의 피벗을 해제한 상태에서 특성과 값을 두 번 클릭하여 특성 및 값 열의 이름을 바꾸고 특성을 날짜로, 값을 할인으로 바꿉니다.
열 이름의 왼쪽에 있는 데이터 형식 메뉴를 선택하고 날짜를 선택하여 날짜 열의 데이터 형식을 변경합니다.
할인 열을 선택한 다음 메뉴에서 변환 탭을 선택합니다. 숫자 열 섹션 아래의 하위 메뉴에서 표준 숫자 변환을 선택하고 나누기를 선택합니다.
나누기 대화 상자에서 값 100을 입력합니다.
트립 및 할인 데이터 결합
다음 단계는 두 테이블을 모두 트립에 적용해야 하는 할인과 조정된 합계가 있는 단일 테이블로 결합하는 것입니다.
먼저 창의 오른쪽 아래에 있는 다이어그램 보기 단추를 전환하여 두 쿼리를 모두 볼 수 있습니다.
원래 데이터 쿼리(이 예제에서는 Bronze라고 함)를 선택하고 홈 탭의 결합 메뉴에서 병합 쿼리를 선택한 다음 쿼리 를 새로 병합합니다.
병합 대화 상자에서 왼쪽 외부 병합을 선택한 후, 병합 드롭다운의 오른쪽 테이블에서 Generated-NYC-Taxi-Green-Discounts를 선택합니다. 그런 다음, 대화 상자의 오른쪽 위에 있는 "전구" 아이콘을 선택하여 두 테이블 간의 열 매핑 제안을 확인합니다.
두 테이블의 VendorID 및 날짜 열을 매핑하려면 제안된 매핑을 선택합니다. 두 매핑이 모두 추가되면 각 테이블에서 일치하는 열 머리글이 강조 표시됩니다.
여러 데이터 원본의 데이터를 결합하여 결과를 볼 수 있도록 허용하라는 메시지가 표시됩니다. 통합 대화 상자에서 확인을 선택합니다.
테이블 영역에는 처음에는 "데이터 개인 정보 보호에 대한 정보가 필요합니다."라는 경고가 표시됩니다. 경고를 해결하려면 [계속 ]을 선택합니다.
이 자습서에서는 중요한 정보가 없는 샘플 데이터이므로 이 문서에 대한 개인 정보 수준 검사 무시를 선택합니다. 사용자 고유의 데이터 원본에 대해 적절한 개인 정보 수준을 설정하여 중요한 데이터를 보호합니다.
저장을 선택합니다.
이전에 만든 두 쿼리와 새 병합 쿼리의 관계를 보여 주는 다이어그램 보기에서 새 쿼리를 만든 방법을 확인합니다. 편집기의 테이블 창을 보면 병합 쿼리 열 목록의 오른쪽으로 스크롤하여 테이블 값이 있는 새 열이 있는지 확인합니다. 이 열은 "생성된 NYC Taxi-Green-Discounts" 열이며 해당 유형은 [Table]입니다. 열 머리글에는 두 개의 화살표가 반대 방향으로 이동하여 테이블에서 열을 선택할 수 있는 아이콘이 있습니다. 할인을 제외한 모든 열의 선택을 취소한 다음 확인을 선택합니다.
이제 행 수준에 할인 값이 있는 상태에서 할인 후 총 금액을 계산하는 새 열을 만들 수 있습니다. 이렇게 하려면 편집기 맨 위에 있는 열 추가 탭을 선택하고 일반 그룹에서 사용자 지정 열을 선택합니다.
사용자 지정 열 대화 상자에서 파워 쿼리 수식 언어(M이라고도 함)를 사용하여 새 열을 계산하는 방법을 정의할 수 있습니다. 새 열 이름에 TotalAfterDiscount를 입력하고, 데이터 형식의 통화를 선택하고, 사용자 지정 열 수식에 대해 다음 M 식을 제공합니다.
만약 [totalAmount] > 0 이면 [totalAmount] * ( 1 -[Discount] ) 그렇지 않으면 [totalAmount]
그런 다음 확인을 선택합니다.
새로 만든 TotalAfterDiscount 열을 선택한 다음 편집기 창 맨 위에 있는 변환 탭을 선택합니다. 숫자 열 그룹에서 반올림 드롭다운을 선택한 다음 반올림...을 선택합니다.
반올림 대화 상자에서 소수 자릿수에 대해 2를 입력한 다음 확인을 선택합니다.
IpepPickupDatetime의 데이터 형식을 날짜에서 날짜/시간으로 변경합니다.
마지막으로 아직 확장되지 않은 경우 편집기 오른쪽에서 쿼리 설정 창을 확장하고 쿼리 이름을 병합에서 출력으로 바꿉니다.
레이크하우스의 테이블에 출력 쿼리 로드
이제 출력 쿼리가 완전히 준비되고 데이터를 출력할 준비가 되면 쿼리의 출력 대상을 정의할 수 있습니다.
이전에 만든 출력 병합 쿼리를 선택합니다. 그런 다음 편집기에서 홈 탭을 선택하고 쿼리 그룹에서 데이터 대상을 추가하여 레이크하우스 대상을 선택합니다.
데이터 대상에 연결 대화 상자에서 연결을 이미 선택한 상태여야 합니다. 다음을 선택하여 작업을 계속할 수 있습니다.
대상 목표 선택 대화 상자에서 데이터를 로드하고 새 테이블 이름을 nyc_taxi_with_discounts 레이크하우스로 이동한 다음, 다음을 다시 선택합니다.
대상 설정 선택 대화 상자에서 자동 설정을 사용하거나, 자동 설정을 선택 취소하고, 기본 업데이트 바꾸기 메서드를 그대로 두고, 열이 올바르게 매핑되었는지 다시 확인하고, 설정 저장을 선택할 수 있습니다.
주 편집기 창에서 데이터 대상 아래의 출력 테이블에 대한 쿼리 설정 창에 출력 대상이 표시되는지 확인한 다음 저장 및 실행을 선택합니다.
Important
작업 영역에서 첫 번째 Dataflow Gen2를 만들면 레이크하우스 및 Warehouse 항목이 관련 SQL 분석 엔드포인트 및 의미 체계 모델과 함께 프로비전됩니다. 이러한 항목은 작업 영역의 모든 데이터 흐름에서 공유되며 Dataflow Gen2가 작동하기 위해 필요하고, 삭제해서는 안 되며 사용자가 직접 사용할 수 없습니다. 항목은 Dataflow Gen2의 구현 세부 정보입니다. 항목은 작업 영역에 표시되지 않지만 Notebook, SQL 엔드포인트, 레이크하우스 및 Warehouse 환경과 같은 다른 환경에서 액세스할 수 있습니다. 이름에 있는 접두사로 항목을 인식할 수 있습니다. 항목의 접두사는 'DataflowsStaging'입니다.
(선택 사항) 작업 영역 페이지에서 행을 선택한 후 표시되는 데이터 흐름 이름 오른쪽에 있는 줄임표를 선택하고 설정을 선택하여 데이터 흐름의 이름을 바꿀 수 있습니다. 이 예제에서는 이름을 nyc_taxi_with_discounts로 바꿉니다.
기타 옵션 줄임표 아래에서 데이터 흐름에 대한 새로 고침 아이콘을 선택하고 완료되면 데이터 대상 설정에 구성된 대로 만들어진 새 Lakehouse 테이블이 표시됩니다.
레이크하우스에서 로드된 새 테이블을 확인합니다.
다음 단계
다음 섹션으로 이동하여 파이프라인을 통합합니다.