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 jest ładowana i gotowa do użycia.
Ogólne kroki przepływu danych są następujące:
- Pobierz nieprzetworzone dane z tabeli Lakehouse utworzonej przez działanie Kopiuj w module 1: Tworzenie potoku za pomocą usługi Data Factory.
- Przekształć dane zaimportowane z tabeli Lakehouse.
- Połączenie do pliku CSV zawierającego dane rabatów.
- Przekształć dane rabatów.
- Łączenie podróży i danych rabatów.
- Załaduj zapytanie wyjściowe do tabeli Gold Lakehouse.
Pobieranie danych z tabeli Lakehouse
Na pasku bocznym wybierz pozycję Utwórz, a następnie pozycję Dataflow Gen2, aby utworzyć nowy przepływ danych gen2.
W menu nowego przepływu danych wybierz pozycję Pobierz dane, a następnie pozycję Więcej....
Wyszukaj i wybierz łącznik Lakehouse .
Zostanie wyświetlone okno dialogowe Połączenie źródła danych i zostanie automatycznie utworzone nowe połączenie na podstawie aktualnie zalogowanego użytkownika. Wybierz Dalej.
Zostanie wyświetlone okno dialogowe Wybieranie danych . Użyj okienka nawigacji, aby znaleźć usługę Lakehouse utworzoną dla miejsca docelowego w poprzednim module i wybrać tabelę danych Tutorial_Lakehouse .
(Opcjonalnie) Po wypełnieniu kanwy danymi można 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 pozycję Opcje w okienku wstążki, a następnie wybierz pierwsze trzy opcje w obszarze Profil kolumny, a następnie wybierz przycisk OK.
Przekształcanie danych zaimportowanych z usługi Lakehouse
Wybierz ikonę typu danych w nagłówku kolumny drugiej kolumny IpepPickupDatetime, aby wyświetlić menu rozwijane i wybrać typ danych z menu, aby przekonwertować kolumnę z daty/godziny na typ daty .
(Opcjonalnie) Na karcie Narzędzia główne na wstążce wybierz opcję Wybierz kolumny w grupie Zarządzaj kolumnami .
(Opcjonalnie) W oknie dialogowym Wybieranie kolumn usuń zaznaczenie niektórych kolumn wymienionych tutaj, a następnie wybierz przycisk OK.
- lpepDropoffDatetime
- puLocationId
- doLocationId
- pickupLatitude
- dropoffLongitude
- rateCodeID
Wybierz menu rozwijane kolumny storeAndFwdFlag i sortuj. (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 przycisk OK.
Wybierz menu rozwijane Sortowanie i filtrowanie kolumn IpepPickupDatetime, a następnie wybierz pozycję Filtry daty i wybierz filtr Między... podany dla typów Daty i daty/godziny.
W oknie dialogowym Filtrowanie wierszy wybierz daty z zakresu od 1 stycznia 2015 r. do 31 stycznia 2015 r., a następnie wybierz przycisk OK.
Połączenie do pliku CSV zawierającego 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ływu danych wybierz opcję Pobierz dane, a następnie wybierz pozycję Tekst/CSV.
W oknie dialogowym Połączenie do źródła danych podaj następujące szczegóły:
- Ścieżka pliku lub adres URL -
https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
- Rodzaj uwierzytelniania — anonimowy
Następnie kliknij przycisk Dalej.
- Ścieżka pliku lub adres URL -
W oknie dialogowym Podgląd danych pliku wybierz pozycję Utwórz.
Przekształcanie danych rabatu
Przeglądając dane, widzimy, że nagłówki wydają się znajdować w pierwszym wierszu. Podwyższ poziom do nagłówków, wybierając menu kontekstowe tabeli w lewym górnym rogu obszaru siatki podglądu, aby wybrać pozycję Użyj pierwszego wiersza jako nagłówków.
Uwaga
Po podwyższeniu poziomu nagłówków można zobaczyć nowy krok dodany do okienka Zastosowane kroki w górnej części edytora przepływów danych do typów danych kolumn.
Kliknij prawym przyciskiem myszy kolumnę VendorID , a następnie z wyświetlonego menu kontekstowego wybierz opcję Anuluj przestawienie innych kolumn. Dzięki temu można przekształcać kolumny w pary atrybut-wartość, w których kolumny stają się wierszami.
Jeśli tabela nie jest przestawna, zmień nazwę kolumn Atrybut i Wartość, klikając je dwukrotnie i zmieniając atrybut na Date (Data) i Value (Wartość) na Discount (Rabat).
Zmień typ danych kolumny Date (Data), wybierając menu typ danych po lewej stronie nazwy kolumny i wybierając pozycję Date (Data).
Wybierz kolumnę Rabat , a następnie wybierz kartę Przekształć w menu. Wybierz kolumnę Liczba, a następnie wybierz pozycję Standardowe przekształcenia liczbowe z podmenu, a następnie wybierz pozycję Podziel.
W oknie dialogowym Dzielenie wprowadź wartość 100.
Łączenie podróży i danych rabatów
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 Widok diagramu, aby wyświetlić oba zapytania.
Wybierz zapytanie nyc_taxi, a następnie na karcie Narzędzia główne 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 listy rozwijanej Prawa tabela do scalania, 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 każde z dwóch sugerowanych mapowań kolumn, po jednym naraz, mapowanie identyfikatora VendorID i kolumn 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 przycisk OK w oknie dialogowym Scalanie .
W obszarze tabeli zobaczysz początkowo ostrzeżenie"Ocena została anulowana, ponieważ połączenie danych z wielu źródeł może ujawnić dane z jednego źródła do drugiego. 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 Diagram przedstawiający relację nowego zapytania scalania z dwoma utworzonymi wcześniej zapytaniami. 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. Usuń zaznaczenie wszystkich kolumn z wyjątkiem rabatu, a następnie wybierz przycisk 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 pozycję Kolumna niestandardowa z grupy Ogólne .
W oknie dialogowym Kolumna niestandardowa możesz użyć języka formuł Power Query (znanego również jako M), aby zdefiniować sposób obliczania nowej kolumny. Wprowadź wartość TotalAfterDiscount jako nazwę nowej kolumny, wybierz pozycję Waluta dla typu danych i podaj następujące wyrażenie M dla formuły kolumny Niestandardowe:
jeśli [totalAmount] > 0, to [totalAmount] * ( 1 -[Rabat] ) else [totalAmount]
Następnie wybierz opcję OK.
Wybierz nowo utworzoną kolumnę TotalAfterDiscount , a następnie wybierz kartę Przekształć w górnej części okna edytora. W grupie Kolumna liczba wybierz listę rozwijaną Zaokrąglanie, a następnie wybierz pozycję Runda....
W oknie dialogowym Runda wprowadź wartość 2 dla liczby miejsc dziesiętnych, a następnie wybierz przycisk 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 Scal na Dane wyjściowe.
Ładowanie zapytania wyjściowego do tabeli w usłudze Lakehouse
Gdy zapytanie wyjściowe jest teraz w pełni przygotowane i z danymi gotowymi do danych wyjściowych, możemy zdefiniować miejsce docelowe danych wyjściowych dla zapytania.
Wybierz utworzone wcześniej zapytanie danych wyjściowych scalania. Następnie wybierz kartę Narzędzia główne w edytorze i Dodaj miejsce docelowe danych z grupowania Zapytania, aby wybrać miejsce docelowe usługi Lakehouse.
W oknie dialogowym Połączenie do miejsca docelowego danych należy już wybrać połączenie. Wybierz przycisk Dalej, aby kontynuować.
W oknie dialogowym Wybieranie miejsca docelowego przejdź do usługi Lakehouse, w której chcesz załadować dane i nadaj nowej tabeli nazwę nyc_taxi_with_discounts, a następnie ponownie wybierz przycisk Dalej.
W oknie dialogowym Wybieranie ustawień docelowych pozostaw domyślną metodę aktualizacji Zamień, sprawdź dokładnie, czy kolumny są poprawnie mapowane, a następnie wybierz pozycję Zapisz ustawienia.
Wróć do okna edytora głównego, upewnij się, że miejsce docelowe danych wyjściowych jest widoczne w okienku Ustawienia zapytania dla tabeli Dane wyjściowe , a następnie wybierz pozycję Publikuj.
Ważne
Po utworzeniu pierwszego przepływu danych Gen2 w obszarze roboczym elementy usługi Lakehouse i Warehouse są aprowizowane wraz z powiązanymi punktami końcowymi i semantycznymi modelami analizy SQL. 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 "Przepływy danychStaging".
(Opcjonalnie) Na stronie obszaru roboczego możesz zmienić nazwę przepływu danych, wybierając wielokropek po prawej stronie nazwy przepływu danych wyświetlanej po wybraniu wiersza i wybraniu pozycji Właściwości.
Wybierz ikonę odświeżania przepływu danych po wybraniu wiersza, a po zakończeniu powinna zostać wyświetlona nowa tabela usługi 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.
- Scal dane z obu źródeł danych w nowe zapytanie.
- Przekształć dane i wygenerować 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.