Moduł 2. Przekształcanie danych za pomocą przepływu danych w usłudze Data Factory
Ten moduł zajmuje około 25 minut, aby utworzyć przepływ danych, zastosować przekształcenia i przenieść nieprzetworzone dane z tabeli Bronze do tabeli Gold Lakehouse.
Dzięki nieprzetworzonym danym załadowanym do tabeli Bronze Lakehouse z ostatniego modułu możesz teraz przygotować te dane i wzbogacić je, łącząc je z inną tabelą zawierającą rabaty dla każdego dostawcy i ich podróży w określonym dniu. Ta ostatnia tabela Gold Lakehouse została załadowana i jest gotowa do wykorzystania.
Ogólne kroki przepływu danych są następujące:
- Pobierz nieprzetworzone dane z tabeli Lakehouse utworzonej przez działanie kopiowania w Module 1: Tworzenie potoku za pomocą usługi Data Factory.
- Przekształć dane zaimportowane z tabeli Lakehouse.
- Połącz się z plikiem CSV zawierającym dane rabatów.
- Przekształć dane rabatów.
- Połącz dane dotyczące podróży i rabatów.
- Załaduj zapytanie wyjściowe do tabeli Gold Lakehouse.
Pobieranie danych z tabeli Lakehouse
Na pasku bocznym wybierz obszar roboczy, wybierz pozycję Nowy element, a następnie przepływ danych Gen2, aby utworzyć nowy przepływ danych Gen2.
W menu nowego przepływu danych wybierz Pobierz dane, a następnie Więcej....
Wyszukaj i wybierz łącznik Lakehouse.
Zostanie wyświetlone okno dialogowe Połącz ze źródłem danych, a nowe połączenie zostanie automatycznie utworzone na podstawie aktualnie zalogowanego użytkownika. Wybierz pozycję Dalej.
Zostanie wyświetlone okno dialogowe Wybierz dane. Użyj okienka nawigacji, aby znaleźć Lakehouse, który utworzyłeś w poprzednim module jako miejsce docelowe, i wybierz tabelę danych Tutorial_Lakehouse.
(opcjonalnie) Gdy kanwa zostanie wypełniona danymi, możesz ustawić informacje o profilu kolumny, ponieważ jest to przydatne w przypadku profilowania danych. Możesz zastosować odpowiednie przekształcenie i określić odpowiednie wartości danych na podstawie tych wartości.
W tym celu wybierz Opcje z paska narzędzi wstążki, potem wybierz pierwsze trzy opcje w sekcji Profil kolumny, a na końcu wybierz OK.
Przekształcanie danych zaimportowanych z usługi Lakehouse
Wybierz ikonę typu danych w nagłówku drugiej kolumny, IpepPickupDatetime, aby wyświetlić menu rozwijane, a następnie wybierz typ danych z menu, aby przekonwertować kolumnę z typu Data/Godzina na typ Data.
(opcjonalnie) Na karcie Narzędzia główne na wstążce, wybierz opcję Wybierz kolumny z grupy Zarządzaj kolumnami.
(opcjonalnie) W oknie dialogowym Wybieranie kolumn usuń zaznaczenie niektórych kolumn wymienionych tutaj, a następnie wybierz pozycję OK.
- lpepDropoffDatetime
- puLocationId
- doLocationId
- szerokość geograficzna punktu odbioru
- długość geograficzna miejsca docelowego
- identyfikator kodu stawki
Wybierz menu rozwijane filtru i sortowania kolumny storeAndFwdFlag. (Jeśli zostanie wyświetlone ostrzeżenie Lista może być niekompletna, wybierz pozycję Załaduj więcej, aby wyświetlić wszystkie dane.
Wybierz pozycję "Y", aby wyświetlić tylko wiersze, w których zastosowano rabat, a następnie wybierz pozycję OK.
Wybierz menu rozwijane sortowania i filtrowania kolumn IpepPickupDatetime, a następnie opcję Filtry daty, i wybierz filtr Między... dostępny dla typów dat i dat/godzin.
W oknie dialogowym filtrowania wierszy wybierz daty z zakresu od 1 stycznia 2015 r. do 31 stycznia 2015 r., a następnie wybierz pozycję OK.
Nawiązywanie połączenia z plikiem CSV zawierającym dane rabatu
Teraz przy użyciu danych z podróży chcemy załadować dane zawierające odpowiednie rabaty dla każdego dnia i Identyfikator dostawcy oraz przygotować dane przed połączeniem ich z danymi podróży.
Na karcie Narzędzia główne w menu edytora przepływów danych wybierz opcję Pobierz dane, a następnie wybierz Tekst/CSV.
W oknie dialogowym Nawiązywanie połączenia ze źródłem danych podaj następujące informacje:
-
ścieżka pliku lub adres URL -
https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
- rodzaj uwierzytelniania — anonimowe
Następnie wybierz pozycję Dalej.
-
ścieżka pliku lub adres URL -
W oknie dialogowym danych pliku w wersji zapoznawczej , wybierz pozycję Utwórz.
Przekształć dane rabatowe
Przeglądając dane, widzimy, że nagłówki wydają się znajdować w pierwszym wierszu. Aby ustawić je jako nagłówki, wybierz opcję z menu kontekstowego tabeli znajdującego się w lewym górnym rogu obszaru podglądu siatki: Użyj pierwszego wiersza jako nagłówków.
Notatka
Po podwyższeniu poziomu nagłówków zobaczysz nowy krok dodany do Zastosowane kroki w górnej części edytora przepływu danych, dotyczący typów danych twoich kolumn.
Kliknij prawym przyciskiem myszy kolumnę VendorID, a następnie z wyświetlonego menu kontekstowego wybierz opcję Usuń przestawienie innych kolumn. Dzięki temu można przekształcić kolumny w pary atrybut-wartość, zmieniając kolumny w wiersze.
Po dokonaniu przestawiania tabeli, zmień nazwę kolumn Attribute i Value poprzez dwukrotne kliknięcie i zamianę Attribute na Date oraz Value na Discount.
Zmień typ danych kolumny Date (Data), wybierając menu typ danych po lewej stronie nazwy kolumny i wybierając pozycję Date.
Wybierz kolumnę rabatu, a następnie wybierz zakładkę Przekształć na menu. Wybierz kolumnę Liczba, a następnie wybierz przekształcenia liczbowe w warstwie Standardowa z podmenu, a następnie wybierz Divide.
W oknie dialogowym Podziel wprowadź wartość 100.
Kombinować dane o podróżach i rabatach
Następnym krokiem jest połączenie obu tabel w jedną tabelę, która ma rabat, który powinien zostać zastosowany do podróży, oraz skorygowaną sumę.
Najpierw przełącz przycisk Widoku diagramu, aby wyświetlić oba zapytania.
Wybierz zapytanie nyc_taxi, a następnie na karcie Strona główna wybierz menu Połącz i wybierz pozycję Scal zapytania, a następnie Scal zapytania jako nowe.
W oknie dialogowym Scalanie wybierz pozycję Generated-NYC-Taxi-Green-Discounts z tabeli Right w celu scalenia listy rozwijanej, a następnie wybierz ikonę "żarówka" w prawym górnym rogu okna dialogowego, aby wyświetlić sugerowane mapowanie kolumn między dwiema tabelami.
Wybierz po kolei każde z dwóch sugerowanych mapowań kolumn, mapując kolumny VendorID i daty z obu tabel. Po dodaniu obu mapowań dopasowane nagłówki kolumn są wyróżnione w każdej tabeli.
Zostanie wyświetlony komunikat z prośbą o zezwolenie na łączenie danych z wielu źródeł danych w celu wyświetlenia wyników. Wybierz pozycję OK w oknie dialogowym scalania .
W obszarze tabeli zobaczysz początkowo ostrzeżenie: "Ocena została anulowana, ponieważ połączenie danych z wielu źródeł może ujawnić dane jednego źródła innemu." Wybierz pozycję Kontynuuj, jeśli możliwość ujawnienia danych jest w porządku. Wybierz pozycję Kontynuuj, aby wyświetlić połączone dane.
Zwróć uwagę, że nowe zapytanie zostało utworzone w widoku Diagramu, przedstawiając relację nowego zapytania scalania z dwoma zapytaniami, które utworzyłeś wcześniej. Patrząc na okienko tabeli edytora, przewiń w prawo listy kolumn kwerendy scalania, aby wyświetlić nową kolumnę z wartościami tabeli. Jest to kolumna "Generated NYC Taxi-Green-Discounts", a jej typ to [Tabela]. W nagłówku kolumny znajduje się ikona z dwiema strzałkami przechodzącymi w przeciwnych kierunkach, co pozwala wybrać kolumny z tabeli. Odznacz wszystkie kolumny z wyjątkiem Rabat, a następnie wybierz OK.
Dzięki wartości rabatu na poziomie wiersza możemy utworzyć nową kolumnę, aby obliczyć łączną kwotę po rabatie. W tym celu wybierz kartę Dodaj kolumnę w górnej części edytora, a następnie wybierz kolumnę Niestandardowa z grupy Ogólne.
W oknie dialogowym kolumny niestandardowej można użyć języka formuł Power Query (znanego również jako M), aby zdefiniować sposób obliczania nowej kolumny. Wprowadź TotalAfterDiscount dla Nowa nazwa kolumny, wybierz Waluta dla Typu danych, i podaj następujące wyrażenie M dla formuły kolumny niestandardowej :
jeśli [totalAmount] > 0, to [totalAmount] * (1 - [Rabat]) w przeciwnym razie [totalAmount]
Następnie wybierz pozycję OK.
Wybierz nowo utworzoną kolumnę TotalAfterDiscount, a następnie wybierz kartę Przekształć w górnej części okna edytora. W grupie Liczba wybierz listę rozwijaną zaokrąglania, a następnie wybierz pozycję Runda....
W oknie dialogowym rundy wprowadź wartość 2 dla liczby miejsc dziesiętnych, a następnie wybierz pozycję OK.
Zmień typ danych ipepPickupDatetime z Date na Date/Time.
Na koniec rozwiń okienko Ustawienia zapytania z prawej strony edytora, jeśli jeszcze nie zostało rozwinięte, i zmień nazwę zapytania z Merge na Output.
Ładowanie zapytania wyjściowego do tabeli w usłudze Lakehouse
Gdy zapytanie wyjściowe jest w pełni przygotowane i dane są gotowe do wyjścia, możemy zdefiniować miejsce docelowe dla zapytania.
Wybierz utworzone wcześniej zapytanie Output merge. Następnie wybierz kartę Home w edytorze i Dodaj miejsce docelowe danych z grupy Query, aby wybrać miejsce docelowe Lakehouse.
W oknie dialogowym Połącz z miejscem docelowym danych połączenie powinno już być wybrane. Wybierz pozycję Dalej, aby kontynuować.
W oknie dialogowym Wybierz obiekt docelowy przejdź do Lakehouse, w którym chcesz załadować dane i nadaj nowej tabeli nazwę nyc_taxi_with_discounts, następnie wybierz ponownie Dalej.
W oknie dialogowym Wybierz ustawienia docelowe pozostaw domyślną Zamień metodę aktualizacji, sprawdź dokładnie, czy kolumny są poprawnie mapowane, a następnie wybierz pozycję Zapisz ustawienia.
Wróć do okna edytora głównego i upewnij się, że widzisz miejsce docelowe danych na panelu ustawień zapytania dla tabeli Wyjście, a następnie wybierz opcję Publikuj.
Ważny
Po utworzeniu pierwszego przepływu danych Gen2 w obszarze roboczym, elementy Lakehouse i Warehouse są aprowizowane wraz z powiązanym punktem końcowym analizy SQL i semantycznymi modelami. Te elementy są współużytkowane przez wszystkie przepływy danych w obszarze roboczym i są wymagane, aby przepływ danych Gen2 działał, nie powinien być usuwany i nie jest przeznaczony do bezpośredniego użycia przez użytkowników. Elementy są szczegółami implementacji usługi Dataflow Gen2. Elementy nie są widoczne w obszarze roboczym, ale mogą być dostępne w innych środowiskach, takich jak notes, punkt końcowy SQL, usługa Lakehouse i magazyn. Elementy można rozpoznać według ich prefiksu w nazwie. Prefiks elementów to `DataflowsStaging'.
(opcjonalnie) Na stronie obszaru roboczego możesz zmienić nazwę przepływu danych, wybierając wielokropek z prawej strony nazwy przepływu danych, który zostanie wyświetlony po wybraniu wiersza i wybraniu Właściwości.
Wybierz ikonę odświeżenia dla przepływu danych po zaznaczeniu jego wiersza, a po zakończeniu powinna zostać wyświetlona nowa tabela Lakehouse utworzona zgodnie z konfiguracją w ustawieniach miejsca docelowego danych .
Sprawdź swoją usługę Lakehouse, aby wyświetlić nową tabelę załadowaną tam.
Powiązana zawartość
W tym drugim module do naszego kompleksowego samouczka dotyczącego pierwszej integracji danych przy użyciu usługi Data Factory w usłudze Microsoft Fabric przedstawiono sposób wykonywania następujących czynności:
- Utwórz nowy przepływ danych Gen2.
- Importowanie i przekształcanie przykładowych danych.
- Importowanie i przekształcanie danych tekstowych/CSV.
- Połącz dane z obu źródeł danych w nowym zapytaniu.
- Przekształć dane i wygeneruj nowe kolumny w zapytaniu.
- Skonfiguruj źródło docelowe danych wyjściowych dla zapytania.
- Zmień nazwę i odśwież nowy przepływ danych.
Przejdź do następnej sekcji, aby zintegrować potok danych.