Module 2: Biến đổi dữ liệu với Dataflow trong Data Factory
Module này mất khoảng 25 phút để tạo một dataflow, áp dụng các biến đổi, và chuyển dữ liệu thô từ bảng Bronze sang bảng Gold Lakehouse.
Sau khi đã tải dữ liệu thô vào bảng Bronze Lakehouse ở module trước, bạn sẽ chuẩn bị và làm giàu dữ liệu bằng cách kết hợp với một bảng khác chứa thông tin chiết khấu của các nhà cung cấp và chuyến đi trong một ngày cụ thể. Bảng Gold Lakehouse cuối cùng sẽ được tải và sẵn sàng để sử dụng.
Các bước tổng quan trong dataflow:
- Lấy dữ liệu thô từ bảng Lakehouse được tạo bởi hoạt động Copy ở Module 1.
- Biến đổi dữ liệu từ bảng Lakehouse.
- Kết nối với tệp CSV chứa dữ liệu chiết khấu.
- Biến đổi dữ liệu chiết khấu.
- Kết hợp dữ liệu chuyến đi và chiết khấu.
- Tải truy vấn đầu ra vào bảng Gold Lakehouse.
Lấy dữ liệu từ bảng Lakehouse #
- Từ thanh bên, chọn không gian làm việc (workspace), chọn New item, sau đó chọn Dataflow Gen2 để tạo dataflow mới.
- Từ menu dataflow mới, chọn Get data, sau đó chọn More…
- Tìm và chọn kết nối Lakehouse.
- Trong hộp thoại Connect to data source, một kết nối mới sẽ tự động được tạo dựa trên người dùng đang đăng nhập. Chọn Next.
- Trong hộp thoại Choose data, sử dụng khung điều hướng để tìm Lakehouse đã tạo ở module trước, chọn bảng dữ liệu Tutorial_Lakehouse.
- (Tùy chọn) Khi dữ liệu xuất hiện trên canvas, bạn có thể thiết lập thông tin hồ sơ cột (column profile) để hỗ trợ phân tích dữ liệu. Chọn Options từ thanh ribbon, chọn ba tùy chọn đầu tiên trong Column profile, sau đó chọn OK.
Biến đổi dữ liệu từ Lakehouse #
- Chọn biểu tượng kiểu dữ liệu ở tiêu đề cột thứ hai (IpepPickup Illness), chọn kiểu Date từ menu để chuyển đổi cột từ Date/Time sang Date.
- (Tùy chọn) Trên tab Home, chọn Choose columns từ nhóm Manage columns.
- (Tùy chọn) Trong hộp thoại Choose columns, bỏ chọn các cột sau, sau đó chọn OK:
- IpepDropoffDatetime
- pulocationld
- dolocationld
- pickupLatitude
- dropoffLongitude
- rateCodelD
- Chọn menu lọc và sắp xếp của cột storeAndFwdFlag. Nếu thấy cảnh báo “List may be incomplete”, chọn Load more để xem toàn bộ dữ liệu.
- Chọn giá trị ‘Y’ để chỉ hiển thị các hàng có áp dụng chiết khấu, sau đó chọn OK.
- Chọn cột IpepPickup Illness, sau đó chọn bộ lọc Between… dành cho kiểu Date và Date/Time.
- Trong hộp thoại Filter rows, chọn khoảng thời gian từ 1/1/2015 đến 31/1/2015, sau đó chọn OK.
Kết nối với tệp CSV chứa dữ liệu chiết khấu #
Bây giờ, với dữ liệu chuyến đi đã sẵn sàng, chúng ta sẽ tải dữ liệu chứa chiết khấu tương ứng theo ngày và VendorID, sau đó chuẩn bị dữ liệu trước khi kết hợp với dữ liệu chuyến đi.
- Từ tab Home trong trình chỉnh sửa dataflow, chọn Get data, sau đó chọn Text/CSV.
- Trong hộp thoại Connect to data source, nhập thông tin sau:
- File path or URL: https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-GreenDiscounts.csv
- Authentication kind: Anonymous
Sau đó chọn Next.
- Trong hộp thoại Preview file data, chọn Create.
Biến đổi dữ liệu chiết khấu #
- Khi xem dữ liệu, nhận thấy tiêu đề nằm ở hàng đầu tiên. Chọn menu ngữ cảnh của bảng ở góc trên bên trái lưới xem trước, chọn Use first row as headers để nâng cấp hàng đầu tiên thành tiêu đề.
- Nhấp chuột phải vào cột VendorID, chọn Unpivot other columns từ menu ngữ cảnh để chuyển các cột thành cặp thuộc tính-giá trị, nơi các cột trở thành hàng.
- Sau khi bảng được unpivot, đổi tên cột Attribute thành Date và cột Value thành Discount bằng cách nhấp đúp và chỉnh sửa.
- Thay đổi kiểu dữ liệu của cột Date bằng cách chọn menu kiểu dữ liệu bên trái tên cột và chọn Date.
- Chọn cột Discount, sau đó chọn tab Transform trên menu. Chọn Number column, sau đó chọn Standard numeric transformations, và chọn Divide.
- Trong hộp thoại Divide, nhập giá trị 100, sau đó chọn OK.
Kết hợp dữ liệu chuyến đi và chiết khấu #
Bước tiếp theo là kết hợp hai bảng thành một bảng chứa chiết khấu áp dụng cho chuyến đi và tổng số tiền đã điều chỉnh.
- Chuyển sang chế độ Diagram view để xem cả hai truy vấn.
- Chọn truy vấn nyc taxi, trên tab Home, chọn menu Combine, chọn Merge queries, sau đó chọn Merge queries as new.
- Trong hộp thoại Merge, chọn Generated-NYC-Taxi-Green-Discounts từ menu thả xuống Right table for merge, sau đó chọn biểu tượng “bóng đèn” ở góc trên bên phải để xem gợi ý ánh xạ cột giữa hai bảng.
- Trong hộp thoại Custom column, sử dụng ngôn ngữ công thức Power Query (M) để xác định cách tính cột mới:
- New column name: TotalAfterDiscount
- Data type: Currency
- Custom column formula:
if [totalAmount] > 0 then [totalAmount] * (1 - [Discount]) else [totalAmount]
Sau đó chọn OK.
- Trong ngăn Query settings, đổi tên truy vấn từ Merge thành Output.
Tải dữ liệu vào Lakehouse #
- Từ tab Home, chọn Data destination, sau đó chọn Lakehouse.
- Trong ngăn Connect to data destination, chọn Tutorial_Lakehouse từ không gian làm việc, sau đó chọn Next.
- Trong ngăn Choose destination settings, đặt tên bảng là Tutorial_Lakehouse_Gold, chọn Update method là Replace, sau đó chọn Save settings.
- Trong cửa sổ chỉnh sửa chính, xác nhận rằng đích đầu ra xuất hiện trong ngăn Query settings cho bảng Output, sau đó chọn Publish.
Lưu ý quan trọng: Khi Dataflow Gen2 đầu tiên được tạo trong một không gian làm việc, các mục Lakehouse và Warehouse cùng với điểm cuối phân tích SQL và mô hình ngữ nghĩa sẽ được cung cấp. Các mục này được chia sẻ bởi tất cả dataflow trong không gian làm việc, không nên bị xóa và không dành để người dùng sử dụng trực tiếp. Chúng có tiền tố DataflowsStaging trong tên.
- (Tùy chọn) Trên trang không gian làm việc, đổi tên dataflow bằng cách chọn dấu ba chấm bên phải tên dataflow, chọn Properties.
- Chọn biểu tượng làm mới cho dataflow, khi hoàn tất, bạn sẽ thấy bảng Lakehouse mới được tạo theo cấu hình trong Data destination settings.
- Kiểm tra Lakehouse để xem bảng mới đã được tải.
Nội dung liên quan #
Trong module thứ hai của hướng dẫn tích hợp dữ liệu đầu tiên với Data Factory trong Microsoft Fabric, bạn đã học cách:
- Tạo Dataflow Gen2 mới.
- Nhập và biến đổi dữ liệu mẫu.
- Nhập và biến đổi dữ liệu Text/CSV.
- Kết hợp dữ liệu từ hai nguồn vào một truy vấn mới.
- Biến đổi dữ liệu và tạo cột mới trong truy vấn.
- Cấu hình nguồn đích đầu ra cho truy vấn.
- Đổi tên và làm mới dataflow mới.
Tiếp tục với phần tiếp theo để tự động hóa và gửi thông báo với Data Factory.
Module 3: Tự động hóa và gửi thông báo với Data Factory