Monitorowanie przepływów danych

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Po zakończeniu tworzenia i debugowania przepływu danych chcesz zaplanować wykonywanie przepływu danych zgodnie z harmonogramem w kontekście potoku. Potok można zaplanować przy użyciu wyzwalaczy. Na potrzeby testowania i debugowania przepływu danych z potoku możesz użyć przycisku Debuguj na wstążce paska narzędzi lub opcji Wyzwól teraz z narzędzia Pipeline Builder, aby wykonać jedno uruchomienie wykonywania w celu przetestowania przepływu danych w kontekście potoku.

Podczas wykonywania potoku można monitorować potok i wszystkie działania zawarte w potoku, w tym działanie Przepływ danych. Kliknij ikonę monitora w panelu interfejsu użytkownika po lewej stronie. Możesz zobaczyć ekran podobny do poniższego. Wyróżnione ikony umożliwiają przechodzenie do szczegółów działań w potoku, w tym działania Przepływ danych.

Screenshot shows icons to select for pipelines for more information.

Wyświetlane są również statystyki na tym poziomie, w tym czasy uruchamiania i stan. Identyfikator przebiegu na poziomie działania różni się od identyfikatora przebiegu na poziomie potoku. Identyfikator przebiegu na poprzednim poziomie jest przeznaczony dla potoku. Wybranie okularów daje szczegółowe informacje na temat wykonywania przepływu danych.

Screenshot shows the eyeglasses icon to see details of data flow execution.

Gdy jesteś w widoku monitorowania węzłów graficznych, możesz zobaczyć uproszczoną wersję wykresu przepływu danych tylko do wyświetlania. Aby wyświetlić widok szczegółów z większymi węzłami grafu zawierającymi etykiety etapu transformacji, użyj suwaka powiększenia po prawej stronie kanwy. Możesz również użyć przycisku wyszukiwania po prawej stronie, aby znaleźć części logiki przepływu danych na grafie.

Screenshot shows the view-only version of the graph.

Wyświetlanie planów wykonywania Przepływ danych

Po wykonaniu Przepływ danych na platformie Spark usługa określa optymalne ścieżki kodu na podstawie całego przepływu danych. Ponadto ścieżki wykonywania mogą występować w różnych węzłach skalowania w poziomie i partycjach danych. W związku z tym wykres monitorowania reprezentuje projekt przepływu, biorąc pod uwagę ścieżkę wykonywania przekształceń. Po wybraniu poszczególnych węzłów można zobaczyć "etapy", które reprezentują kod, który został wykonany razem w klastrze. Widoczne chronometraż i liczniki reprezentują te grupy lub etapy, w przeciwieństwie do poszczególnych kroków w projekcie.

Screenshot shows the page for a data flow.

  • Po wybraniu otwartej przestrzeni w oknie monitorowania statystyki w dolnym okienku wyświetlają chronometraż i liczbę wierszy dla każdego ujścia oraz przekształcenia, które doprowadziły do danych ujścia na potrzeby pochodzenia transformacji.

  • Po wybraniu poszczególnych przekształceń otrzymasz dodatkową opinię na panelu po prawej stronie, w którym są wyświetlane statystyki partycji, liczby kolumn, niesymetryczność (jak równomiernie są dane dystrybuowane między partycjami) i kurtoza (jak kolczaste są dane).

  • Sortowanie według czasu przetwarzania pomoże określić, które etapy przepływu danych zajęły najwięcej czasu.

  • Aby dowiedzieć się, które przekształcenia w poszczególnych etapach zajęły najwięcej czasu, posortuj według najwyższego czasu przetwarzania.

  • Zapisane wiersze są również sortowane jako sposób identyfikowania strumieni wewnątrz przepływu danych, które zapisują najwięcej danych.

  • Po wybraniu ujścia w widoku węzła będzie można zobaczyć pochodzenie kolumn. Istnieją trzy różne metody gromadzenia kolumn w całym przepływie danych, aby wylądować w ujściu. Są to:

    • Obliczane: kolumna jest używana do przetwarzania warunkowego lub w wyrażeniu w przepływie danych, ale nie ląduje w ujściu
    • Pochodne: kolumna jest nową kolumną wygenerowaną w przepływie, czyli nie była obecna w źródle
    • Mapowane: kolumna pochodzi ze źródła i mapuje ją na pole ujścia
    • Stan przepływu danych: bieżący stan wykonania
    • Czas uruchamiania klastra: ilość czasu na uzyskanie środowiska obliczeniowego JIT Spark na potrzeby wykonywania przepływu danych
    • Liczba przekształceń: ile kroków przekształcania jest wykonywanych w przepływie

Screenshot shows the Refresh option.

Porównanie całkowitego czasu przetwarzania ujścia z czasem przetwarzania transformacji

Każdy etap transformacji obejmuje całkowity czas ukończenia tego etapu wraz z łącznym czasem wykonywania poszczególnych partycji. Po kliknięciu ujścia zostanie wyświetlony komunikat "Czas przetwarzania ujścia". Ten czas obejmuje łączny czas transformacji oraz czas we/wy, jaki zajęło zapisanie danych w magazynie docelowym. Różnica między czasem przetwarzania ujścia a sumą przekształcenia jest czas we/wy zapisu danych.

Możesz również zobaczyć szczegółowy czas dla każdego kroku przekształcania partycji, jeśli otworzysz dane wyjściowe JSON z działania przepływu danych w widoku monitorowania potoku. Dane JSON zawierają milisekundowy czas dla każdej partycji, natomiast widok monitorowania środowiska użytkownika to zagregowany czas dodawanych partycji:

 {
     "stage": 4,
     "partitionTimes": [
          14353,
          14914,
          14246,
          14912,
          ...
         ]
}

Czas przetwarzania ujścia

Po wybraniu ikony przekształcenia ujścia na mapie panel slajdów po prawej stronie wyświetli dodatkowy punkt danych o nazwie "czas przetwarzania końcowego" u dołu. Jest to ilość czasu poświęcanego na wykonywanie zadania w klastrze Spark po załadowaniu, przekształceniu i zapisaniu danych. Tym razem może obejmować zamykanie pul połączeń, zamykanie sterowników, usuwanie plików, łączenie plików itp. W przypadku wykonywania akcji w przepływie, takich jak "przenoszenie plików" i "dane wyjściowe do pojedynczego pliku", prawdopodobnie zobaczysz wzrost wartości czasu przetwarzania końcowego.

  • Czas trwania zapisu: czas zapisywania danych w lokalizacji przejściowej dla usługi Synapse SQL
  • Operacja tabeli SQL czas trwania: czas poświęcony na przenoszenie danych z tabel tymczasowych do tabeli docelowej
  • Czas trwania & przed SQL SQL: czas wykonywania poleceń przed/po SQL
  • Czas trwania poleceń przed poleceniami trwania & po poleceniach: czas spędzony na uruchamianiu dowolnych operacji przed/post dla źródeł/ujść opartych na plikach. Na przykład przenieś lub usuń pliki po przetworzeniu.
  • Czas trwania scalania: czas spędzony na scalaniu pliku, pliki scalania są używane na potrzeby ujść opartych na plikach podczas zapisywania do pojedynczego pliku lub gdy jest używana opcja "Nazwa pliku jako dane kolumny". Jeśli w tej metryce jest dużo czasu, należy unikać korzystania z tych opcji.
  • Czas etapu: łączna ilość czasu spędzonego wewnątrz platformy Spark w celu ukończenia operacji jako etapu.
  • Tymczasowa stabilna tymczasowa: nazwa tabeli tymczasowej używanej przez przepływy danych do przygotowania danych w bazie danych.

Wiersze błędów

Włączenie obsługi wierszy błędów w ujściu przepływu danych zostanie odzwierciedlone w danych wyjściowych monitorowania. Po ustawieniu ujścia na wartość "zgłoś powodzenie po błędzie" dane wyjściowe monitorowania będą wyświetlać liczbę wierszy zakończonych powodzeniem i niepowodzeniem po kliknięciu węzła monitorowania ujścia.

Screenshot shows error rows.

Po wybraniu opcji "zgłoś błąd po błędzie" te same dane wyjściowe będą wyświetlane tylko w tekście wyjściowym monitorowania aktywności. Dzieje się tak, ponieważ działanie przepływu danych zwróci błąd wykonania, a szczegółowy widok monitorowania będzie niedostępny.

Screenshot shows error rows in activity.

Ikony monitora

Ta ikona oznacza, że dane przekształcenia zostały już zapisane w pamięci podręcznej w klastrze, więc uwzględniono chronometraż i ścieżkę wykonywania:

Screenshot shows the disk icon.

W przekształceniu są również widoczne ikony zielonego okręgu. Reprezentują one liczbę ujść, do których przepływają dane.