Udostępnij za pośrednictwem


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

  1. Na pasku bocznym wybierz pozycję Utwórz, a następnie pozycję Dataflow Gen2, aby utworzyć nowy przepływ danych gen2. Screenshot showing the Fabric Create page with the Dataflow Gen2 button highlighted.

  2. W menu nowego przepływu danych wybierz pozycję Pobierz dane, a następnie pozycję Więcej....

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

  3. Wyszukaj i wybierz łącznik Lakehouse .

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

  4. 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.

    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. 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 .

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

  6. (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.

    Screenshot showing the column options selection for your data.

Przekształcanie danych zaimportowanych z usługi Lakehouse

  1. 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 . Screenshot showing the selection of the Date data type for the IpepPickupDatetime column.

  2. (Opcjonalnie) Na karcie Narzędzia główne na wstążce wybierz opcję Wybierz kolumny w grupie Zarządzaj kolumnami .

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

  3. (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

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

  4. 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.

    Screenshot showing the filter and sort dialog for the column.

  5. Wybierz pozycję "Y", aby wyświetlić tylko wiersze, w których zastosowano rabat, a następnie wybierz przycisk OK.

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

  6. 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.

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

  7. 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.

    Screenshot showing the selection of the dates in January 2015.

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.

  1. Na karcie Narzędzia główne w menu edytora przepływu danych wybierz opcję Pobierz dane, a następnie wybierz pozycję Tekst/CSV.

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

  2. 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.

    Screenshot showing the Text/CSV settings for the connection.

  3. W oknie dialogowym Podgląd danych pliku wybierz pozycję Utwórz.

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

Przekształcanie danych rabatu

  1. 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.

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

    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.

  2. 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.

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

  3. 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).

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

  4. Zmień typ danych kolumny Date (Data), wybierając menu typ danych po lewej stronie nazwy kolumny i wybierając pozycję Date (Data).

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

  5. 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.

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

  6. W oknie dialogowym Dzielenie wprowadź wartość 100.

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

Łą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ę.

  1. Najpierw przełącz przycisk Widok diagramu, aby wyświetlić oba zapytania.

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

  2. 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.

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

  3. 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.

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

    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.

  4. 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 .

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

  5. 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.

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

  6. 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.

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

  7. 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 .

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

  8. 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.

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

  9. 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....

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

  10. W oknie dialogowym Runda wprowadź wartość 2 dla liczby miejsc dziesiętnych, a następnie wybierz przycisk OK.

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

  11. Zmień typ danych ipepPickupDatetime z Date na Date/Time.

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

  12. 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.

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

Ł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.

  1. 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.

    Screenshot showing the Add data destination button with Lakehouse highlighted.

  2. W oknie dialogowym Połączenie do miejsca docelowego danych należy już wybrać połączenie. Wybierz przycisk Dalej, aby kontynuować.

  3. 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.

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

  4. 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.

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

  5. 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".

  6. (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.

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

  7. 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.

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

  8. Sprawdź swoją usługę Lakehouse, aby wyświetlić nową tabelę załadowaną tam.

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.