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

  1. Na pasku bocznym wybierz obszar roboczy, wybierz pozycję Nowy element, a następnie przepływ danych Gen2, aby utworzyć nowy przepływ danych Gen2. Zrzut ekranu przedstawiający stronę Tworzenie sieci szkieletowej z wyróżnionym przyciskiem Dataflow Gen2.

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

    Zrzut ekranu przedstawiający menu Przepływ danych z wyróżnionym przyciskiem Pobierz dane oraz wyróżnioną opcją

  3. Wyszukaj i wybierz łącznik Lakehouse.

    Zrzut ekranu przedstawiający wybór źródła danych usługi Lakehouse z menu Wybierz źródło danych.

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

    Zrzut ekranu przedstawiający konfigurację ustawień źródła danych dla nowej usługi Lakehouse przy użyciu bieżącego zalogowanego użytkownika i wybranego przycisku Dalej.

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

    Zrzut ekranu przedstawiający przeglądarkę Lakehouse z obszarem roboczym, usługą lakehouse i tabelą utworzoną za pomocą działania Kopiowania w module 1.

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

    Zrzut ekranu przedstawiający opcje kolumn wybrane dla danych.

Przekształcanie danych zaimportowanych z usługi Lakehouse

  1. 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. Zrzut ekranu przedstawiający wybór typu danych Date dla kolumny IpepPickupDatetime.

  2. (opcjonalnie) Na karcie Narzędzia główne na wstążce, wybierz opcję Wybierz kolumny z grupy Zarządzaj kolumnami.

    Zrzut ekranu przedstawiający przycisk Wybierz kolumny na karcie Narzędzia główne edytora przepływu danych.

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

    Zrzut ekranu przedstawiający okno dialogowe Wybieranie kolumn z odznaczonymi kolumnami.

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

    Zrzut ekranu przedstawiający okno dialogowe filtrowania i sortowania dla kolumny.

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

    Zrzut ekranu przedstawiający filtr wartości z wybraną tylko wartością

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

    Zrzut ekranu przedstawiający wybór opcji Filtry daty na liście rozwijanej sortowania i formatowania kolumn.

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

    Zrzut ekranu przedstawiający wybór dat w styczniu 2015 r.

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.

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

    Zrzut ekranu przedstawiający wybór menu Pobierz dane z karty Narzędzia główne z wyróżnioną pozycją Tekst/CSV.

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

    Zrzut ekranu przedstawiający ustawienia tekstowe/CSV dla połączenia.

  3. W oknie dialogowym danych pliku w wersji zapoznawczej , wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający okno dialogowe z danymi podglądu pliku, w którym wyróżniono przycisk Utwórz.

Przekształć dane rabatowe

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

    Zrzut ekranu przedstawiający wybór opcji Użyj pierwszego wiersza jako nagłówków z menu kontekstowego tabeli.

    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.

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

    Zrzut ekranu przedstawiający menu kontekstowe kolumny VendorID z wyróżnionym zaznaczeniem Unpivot other columns (Usuń przestawienie innych kolumn).

  3. Po dokonaniu przestawiania tabeli, zmień nazwę kolumn Attribute i Value poprzez dwukrotne kliknięcie i zamianę Attribute na Date oraz Value na Discount.

    Zrzut ekranu przedstawiający kolumny tabeli po zmianie nazwy atrybutu na Date (Data) i Value (Wartość) na Discount (Rabat).

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

    Zrzut ekranu przedstawiający wybór typu danych „Data” dla kolumny „Data”.

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

    Zrzut ekranu przedstawiający wybór opcji Podziel, aby przekształcić dane w kolumnie Rabat.

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

    Zrzut ekranu przedstawiający okno dialogowe Dzielenie z wartością 100 wpisaną oraz wyróżnionym przyciskiem OK.

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

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

    Zrzut ekranu przedstawiający przycisk przełączania widoku diagramu z wyświetlonymi obydwoma zapytaniami utworzonymi w tym samouczku.

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

    Zrzut ekranu przedstawiający opcję scalania zapytań jako nowe zaznaczenie dla zapytania nyc_taxi.

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

    Zrzut ekranu przedstawiający konfigurację okna dialogowego Scalanie z wyświetlonymi sugerowanymi mapowaniami kolumn.

    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.

  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 pozycję OK w oknie dialogowym scalania .

    Zrzut ekranu przedstawiający żądanie zatwierdzenia łączenia danych z wielu źródeł danych z wyróżnionym przyciskiem OK.

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

    Zrzut ekranu przedstawiający ostrzeżenie dotyczące łączenia danych z wielu źródeł danych z wyróżnionym przyciskiem Kontynuuj.

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

    Zrzut ekranu przedstawia scalone zapytanie oraz menu wyboru kolumny dla nowo wygenerowanej kolumny 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 kolumnę Niestandardowa z grupy Ogólne.

    Zrzut ekranu przedstawiający przycisk Dodaj kolumnę niestandardową wyróżnioną w sekcji Ogólne na karcie Dodawanie kolumny.

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

    Zrzut ekranu przedstawiający ekran konfiguracji kolumny niestandardowej z wyróżnioną pozycją Nowa nazwa kolumny, Typ danych i Formuła kolumny niestandardowej.

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

    Zrzut ekranu przedstawiający opcję Zaokrąglij na karcie Przekształć w oknie edytora.

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

    Zrzut ekranu przedstawiający okno dialogowe Runda z 2 dla liczby miejsc dziesiętnych i wyróżniony przycisk OK.

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

    Zrzut ekranu przedstawiający wybór typu danych Data/godzina dla kolumny IpepPickupDatetime.

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

    Zrzut ekranu przedstawiający zmianę nazwy zapytania z scalania na dane wyjściowe.

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

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

    Zrzut ekranu przedstawiający przycisk Dodaj miejsce docelowe dla danych, z wyróżnionym Lakehouse.

  2. W oknie dialogowym Połącz z miejscem docelowym danych połączenie powinno już być wybrane. Wybierz pozycję Dalej, aby kontynuować.

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

    Zrzut ekranu przedstawiający okno dialogowe Wybieranie miejsca docelowego z nazwą tabeli nyc_taxi_with_discounts.

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

    Zrzut ekranu przedstawiający okno dialogowe Wybieranie ustawień docelowych z wyróżnionym przyciskiem Zapisz ustawienia.

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

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

    Zrzut ekranu przedstawiający opcję Właściwości wybraną w menu przepływu danych, w którym można zmienić jego nazwę.

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

    Zrzut ekranu przedstawiający wybór przycisku odświeżania w celu odświeżenia przepływu danych.

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