Udostępnij za pośrednictwem


Debugowanie i diagnozowanie aplikacji platformy Apache Spark za pomocą rozszerzonego serwera historii platformy Apache Spark

Ten artykuł zawiera wskazówki dotyczące używania rozszerzonego serwera historii platformy Apache Spark do debugowania i diagnozowania ukończonych i uruchomionych aplikacji platformy Apache Spark.

Dostęp do serwera historii platformy Apache Spark

Serwer historii platformy Apache Spark to internetowy interfejs użytkownika dla ukończonych i uruchomionych aplikacji Platformy Spark. Możesz otworzyć internetowy interfejs użytkownika platformy Apache Spark z notesu wskaźnika postępu lub strony szczegółów aplikacji platformy Apache Spark.

Otwórz interfejs webowy Spark z notatnika wskaźnika postępu

Po wyzwoleniu zadania platformy Apache Spark przycisk otwierania internetowego interfejsu użytkownika platformy Spark znajduje się wewnątrz opcji Więcej akcji w wskaźniku postępu. Wybierz pozycję Internetowy interfejs użytkownika platformy Spark i poczekaj kilka sekund, a następnie zostanie wyświetlona strona interfejsu użytkownika platformy Spark.

Zrzut ekranu przedstawiający otwarcie interfejsu użytkownika Spark w przeglądarce z notesu z wskaźnikiem postępu.

Otwieranie internetowego interfejsu użytkownika platformy Spark ze strony szczegółów aplikacji platformy Apache Spark

Internetowy interfejs użytkownika platformy Spark można również otworzyć za pośrednictwem strony szczegółów aplikacji platformy Apache Spark. Wybierz Monitor po lewej stronie strony, a następnie wybierz aplikację Apache Spark. Zostanie wyświetlona strona szczegółów aplikacji.

Zrzut ekranu przedstawiający otwieranie internetowego interfejsu użytkownika platformy Spark ze strony szczegółów aplikacji platformy Apache Spark.

W przypadku aplikacji Apache Spark, której stan jest uruchomiony, przycisk wyświetla interfejs użytkownika Spark. Wybierz pozycję Interfejs użytkownika platformy Spark, a zostanie wyświetlona strona Interfejs użytkownika platformy Spark.

Zrzut ekranu przedstawiający przycisk wyświetla interfejs użytkownika platformy Spark w stanie uruchomienia.

W przypadku aplikacji platformy Apache Spark, której status został zakończony, status ten może być Zatrzymany, Niepowodzenie, Anulowane lub Ukończone. Przycisk zawiera serwer historii platformy Spark. Wybierz Serwer historii Spark, a zostanie wyświetlona strona interfejsu użytkownika Spark.

Zrzut ekranu przedstawiający przycisk wyświetla interfejs użytkownika platformy Spark w stanie końcowym.

Karta Grafu na serwerze historii platformy Apache Spark

Wybierz identyfikator zadania, które chcesz wyświetlić. Następnie wybierz pozycję Graph w menu narzędzi, aby pobrać widok wykresu zadania.

Omówienie

W wygenerowanym grafie zadań można wyświetlić przegląd zadania. Domyślnie wykres pokazuje wszystkie zadania. Ten widok można filtrować według identyfikatora zadania.

Zrzut ekranu przedstawiający aplikację Spark oraz identyfikator zadania na grafie zadań.

Wyświetlanie

Domyślnie wybrany jest widok Postęp. Przepływ danych można sprawdzić, wybierając pozycję Odczyt lub Zapis na liście rozwijanej Wyświetlanie.

Zrzut ekranu przedstawiający wyświetlanie aplikacji platformy Spark i wykresu zadań.

Węzeł grafu wyświetla kolory wyświetlane w legendzie mapy cieplnej.

Zrzut ekranu przedstawiający aplikację Spark i mapę cieplną wykresu zadań.

Odtwarzanie

Aby odtworzyć zadanie, wybierz pozycję Odtwarzanie. Możesz wybrać pozycję Zatrzymaj w dowolnym momencie, aby zatrzymać. Kolory zadań wskazują różne statusy podczas odtwarzania.

Kolor Znaczenie
Zielony Powodzenie: zadanie zostało ukończone pomyślnie.
Orange Ponowienia: przykłady zadań, które zakończyły się niepowodzeniem, ale nie mają wpływu na ostateczny wynik pracy. Zadania te miały zduplikowane lub ponowne próby, które mogą zakończyć się powodzeniem później.
Niebieskie Uruchomione: zadanie jest uruchomione.
Biała Oczekiwanie lub pominięcie: zadanie czeka na uruchomienie lub etap został pominięty.
Czerwony Niepowodzenie: zadanie nie powiodło się.

Na poniższej ilustracji przedstawiono kolory stanu zielony, pomarańczowy i niebieski.

Zrzut ekranu przedstawiający przykładową aplikację platformy Spark i kolor grafu zadań.

Na poniższym obrazku pokazano kolory statusu: zielony i biały.

Zrzut ekranu przedstawiający aplikację Spark oraz próbkę kolorów grafu zadań, pomiń.

Na poniższym obrazie pokazano status w kolorze czerwonym i zielonym.

Zrzut ekranu przedstawiający aplikację Spark oraz próbkę kolorów grafu zadań, które zakończyły się niepowodzeniem.

Uwaga

Serwer historii platformy Apache Spark umożliwia odtwarzanie dla każdego ukończonego zadania (ale nie zezwala na odtwarzanie niekompletnych zadań).

Powiększ

Użyj przewijania myszy, aby powiększać i zmniejszać widok wykresu zadania, lub wybierz Powiększ, aby dopasować, aby dopasować go do ekranu.

Zrzut ekranu przedstawiający powiększenie aplikacji platformy Spark i wykresu zadań w celu dopasowania.

Podpowiedzi

Zatrzymaj wskaźnik myszy na węźle grafu, aby wyświetlić etykietkę narzędzia, gdy zadania zakończyły się niepowodzeniem, i wybierz etap, aby otworzyć stronę etapu.

Zrzut ekranu przedstawiający etykietkę narzędzia aplikacji platformy Spark i wykresu zadań.

Na karcie grafu zadań etapy mają podpowiedzi i wyświetlaną ikonę, jeśli posiadają zadania spełniające następujące warunki:

Warunek opis
Niesymetryczność danych Średni rozmiar odczytu danych rozmiar > odczytu wszystkich zadań w tym etapie * 2 i rozmiar > odczytu danych 10 MB.
Niesymetryczność czasu Czas wykonywania > średni czas wykonywania wszystkich zadań w tym etapie * 2 oraz czas wykonywania > 2 minuty.

Zrzut ekranu przedstawiający aplikację Spark i ikonę asymetrii wykresu zadań.

Opis węzła grafu

Węzeł grafu zadania wyświetla następujące informacje dotyczące każdego etapu:

  • ID
  • Nazwa lub opis
  • Łączna liczba zadań
  • Odczyt danych: suma rozmiaru danych wejściowych i rozmiaru odczytu tasowania
  • Zapis danych: suma rozmiaru danych wyjściowych i rozmiaru zapisów mieszania
  • Czas wykonywania: czas między godziną rozpoczęcia pierwszej próby a czasem zakończenia ostatniej próby
  • Liczba wierszy: suma rekordów wejściowych, rekordów wyjściowych, mieszania rekordów odczytu i mieszania rekordów zapisu
  • Postęp

Uwaga

Domyślnie węzeł wykresu wykonywania zadania wyświetla informacje z ostatniej próby każdego etapu (za wyjątkiem czasu wykonania etapu). Jednak podczas odtwarzania węzeł grafu wyświetla informacje o każdej próbie.

Rozmiar danych odczytu i zapisu wynosi 1 MB = 1000 KB = 1000 * 1000 bajtów.

Przekazywanie opinii

Wyślij opinię z problemami, wybierając pozycję Przekaż nam opinię.

Zrzut ekranu przedstawiający opinie dotyczące aplikacji platformy Spark i wykresu zadań.

Limit liczby etapów

W przypadku zagadnienia dotyczącego wydajności wykres jest domyślnie dostępny tylko wtedy, gdy aplikacja Spark ma mniej niż 500 etapów. Jeśli istnieje zbyt wiele etapów, wystąpi błąd podobny do następującego:

The number of stages in this application exceeds limit (500), graph page is disabled in this case.

Aby obejść ten problem, przed uruchomieniem aplikacji Spark zastosuj tę konfigurację platformy Spark, aby zwiększyć limit:

spark.ui.enhancement.maxGraphStages 1000

Należy jednak zauważyć, że może to spowodować złą wydajność strony i interfejsu API, ponieważ zawartość może być zbyt duża, aby przeglądarka mogła pobierać i renderować.

Przejrzyj kartę Diagnostyka na serwerze historii Apache Spark

Aby uzyskać dostęp do karty Diagnostyka, wybierz identyfikator zadania. Następnie wybierz pozycję Diagnoza w menu narzędzi, aby uzyskać widok Diagnostyka zadania. Karta diagnostyki zawiera dane niesymetryczność, niesymetryczność czasu i analizę użycia funkcji wykonawczej.

Sprawdź niesymetryczność danych, niesymetryczność czasu i analizę użycia funkcji wykonawczej, wybierając odpowiednio karty.

Zrzut ekranu przedstawiający kartę niesymetryczności danych diagnostyki sparkUI.

Niesymetryczność danych

Po wybraniu karty Niesymetryczność danych odpowiednie niesymetryczne zadania są wyświetlane na podstawie określonych parametrów.

  • Określ parametry — pierwsza sekcja wyświetla parametry używane do wykrywania niesymetryczności danych. Reguła domyślna to: odczyt danych zadania jest większy niż trzy razy w odczytywaniu średnich danych zadania, a odczyt danych zadania wynosi ponad 10 MB. Jeśli chcesz zdefiniować własną regułę dla niesymetrycznych zadań, możesz wybrać parametry. Sekcje Pochylona scena i Pochylony znak są odpowiednio odświeżane.

  • Etap niesymetryczny — druga sekcja zawiera etapy, które mają niesymetryczne zadania spełniające wcześniej określone kryteria. Jeśli na etapie istnieje więcej niż jedno niesymetryczne zadanie, tabela etapu niesymetrycznego wyświetla tylko najbardziej niesymetryczne zadanie (na przykład największe dane dotyczące niesymetryczności danych).

    Zrzut ekranu przedstawiający kartę niesymetryczności danych diagnostyki interfejsu użytkownika platformy Spark.

  • Wykres niesymetryczny — po wybraniu wiersza w tabeli etapów niesymetryczności wykres niesymetryczny wyświetla więcej szczegółów dystrybucji zadań na podstawie czasu odczytu i wykonywania danych. Zadania niesymetryczne są oznaczone kolorem czerwonym, a normalne zadania są oznaczone kolorem niebieskim. Na wykresie jest wyświetlanych maksymalnie 100 przykładowych zadań, a szczegóły zadania są wyświetlane w prawym dolnym panelu.

    Zrzut ekranu przedstawiający wykres niesymetryczności interfejsu użytkownika platformy Spark dla etapu 10.

Niesymetryczność czasu

Karta Niesymetryczność czasu wyświetla niesymetryczne zadania na podstawie czasu wykonywania zadania.

  • Określ parametry — pierwsza sekcja wyświetla parametry, które są używane do wykrywania niesymetryczności czasu. Domyślne kryteria wykrywania niesymetryczności czasu to: czas wykonywania zadania jest większy niż trzy razy średniego czasu wykonywania, a czas wykonywania zadania jest dłuższy niż 30 sekund. Parametry można zmienić na podstawie Twoich potrzeb. Wykres etapu obciążenia danych i wykres obciążenia danych wyświetlają odpowiednie etapy i informacje o zadaniach, podobnie jak karta obciążenie danych opisana wcześniej.

  • Wybierz Odchylenie czasu, a następnie filtrowany wynik jest wyświetlany w sekcji Etap odchylenia zgodnie z parametrami ustawionymi w sekcji Określ parametry. Wybierz jeden element w sekcji Niesymetryczny Etap, a następnie odpowiedni wykres zostanie opracowany w sekcji trzeciej, a szczegóły zadania zostaną wyświetlone w prawym dolnym panelu.

    Zrzut ekranu przedstawiający sekcję asymetrii czasu diagnostyki w Spark UI.

Analiza użycia funkcji wykonawczej

Ta funkcja została teraz wycofana w usłudze Fabric. Jeśli nadal chcesz użyć tego jako obejścia, uzyskaj dostęp do strony, jawnie dodając ciąg "/executorusage" za ścieżką "/diagnostic" w adresie URL, w następujący sposób:

Zrzut ekranu przedstawiający sposób modyfikowania adresu URL.