Brug den udvidede Apache Spark-oversigtsserver til at foretage fejlfinding og diagnosticere Apache Spark-programmer

Denne artikel indeholder en vejledning i, hvordan du bruger den udvidede Apache Spark-oversigtsserver til at foretage fejlfinding og diagnosticere fuldførte og kørende Spark-programmer.

Få adgang til Apache Spark-oversigtsserveren

Apache Spark-oversigtsserveren er webbrugergrænsefladen til fuldførte og kørende Spark-programmer. Du kan åbne Apache Spark-webbrugergrænsefladen fra statusindikatornotesbogen eller siden med oplysninger om Apache Spark-programmet.

Åbn brugergrænsefladen i Spark-web fra notesbogen med statusindikator

Når et Apache Spark-job udløses, er knappen til at åbne Spark-webbrugergrænseflade inde i indstillingen Mere handling i statusindikatoren. Vælg Spark-webbrugergrænseflade , og vent et par sekunder, hvorefter siden med Spark-brugergrænsefladen vises.

Screenshot showing open the Spark web UI from progress indicator notebook.

Åbn spark-webbrugergrænsefladen fra siden med oplysninger om Apache Spark-programmet

Brugergrænsefladen i Spark-web kan også åbnes via siden med oplysninger om Apache Spark-programmet. Vælg Overvågningshub i venstre side af siden, og vælg derefter et Apache Spark-program. Detaljesiden for programmet vises.

Screenshot showing open the Spark web UI from Apache Spark application detail page.

For et Apache Spark-program, hvis status kører, viser knappen Spark-brugergrænsefladen. Vælg Spark UI , hvorefter siden med Brugergrænsefladen i Spark vises.

Screenshot showing the button displays the spark ui in the running state.

For et Apache Spark-program, hvis status er afsluttet, kan statussen stoppes, mislykkes, annulleres eller fuldføres. Knappen viser Spark-oversigtsserveren. Vælg Spark-oversigtsserver , hvorefter siden med Brugergrænsefladen i Spark vises.

Screenshot showing the button displays the spark ui in the ended state.

Fanen Graph på Apache Spark-oversigtsserveren

Vælg job-id'et for det job, du vil have vist. Vælg derefter Graph i værktøjsmenuen for at få jobdiagramvisningen.

Oversigt

Du kan se en oversigt over dit job i den genererede jobgraf. Grafen viser som standard alle job. Du kan filtrere denne visning efter job-id.

Screenshot showing spark application and job graph job ID.

Skærm

Statusvisningen er som standard valgt. Du kan kontrollere dataflowet ved at vælge Læs eller Skrevetrullelisten Vis .

Screenshot showing spark application and job graph display.

Grafnoden viser de farver, der vises i heatmapforklaringen.

Screenshot showing spark application and job graph heatmap.

Afspilning

Hvis du vil afspille jobbet, skal du vælge Afspilning. Du kan når som helst vælge Stop for at stoppe. Opgavefarverne viser forskellige statusser, når der afspilles:

Color Betydning
Grøn Fuldført: Jobbet er fuldført.
Orange Forsøgt igen: Forekomster af opgaver, der mislykkedes, men som ikke påvirker det endelige resultat af jobbet. Disse opgaver havde duplikerede eller gentagne forekomster, der kan lykkes senere.
Blå Kører: Opgaven kører.
Hvid Venter eller sprunget over: Opgaven venter på at køre, eller fasen er sprunget over.
Rød Mislykket: Opgaven mislykkedes.

På følgende billede vises grønne, orange og blå statusfarver.

Screenshot showing spark application and job graph color sample, running.

På følgende billede vises grønne og hvide statusfarver.

Screenshot showing spark application and job graph color sample, skip.

På følgende billede vises røde og grønne statusfarver.

Screenshot showing spark application and job graph color sample, failed.

Bemærk

Apache Spark-oversigtsserveren tillader afspilning for hvert fuldført job (men tillader ikke afspilning for ufuldstændige job).

Zoom

Brug musen til at zoome ind og ud på jobgrafen, eller vælg Zoom for at tilpasse den, så den passer til skærmen.

Screenshot showing spark application and job graph zoom to fit.

Værktøjstip

Peg på grafnoden for at se værktøjstippet, når der er mislykkede opgaver, og vælg en fase for at åbne dens faseside.

Screenshot showing spark application and job graph tooltip.

Under fanen jobgraf vises der et værktøjstip i faserne, og der vises et lille ikon, hvis de har opgaver, der opfylder følgende betingelser:

Betingelse Beskrivelse
Dataforvrænget Den gennemsnitlige datalæsningsstørrelse > for datalæsning for alle opgaver i denne fase * 2 og datalæsningsstørrelsen > 10 MB.
Tidsforvrænget Den gennemsnitlige udførelsestid > for alle opgaver i denne fase * 2 og udførelsestid > 2 minutter.

Screenshot showing spark application and job graph skew icon.

Beskrivelse af grafnode

Jobdiagramnoden viser følgende oplysninger om hver fase:

  • Id
  • Navn eller beskrivelse
  • Samlet opgavenummer
  • Læsning af data: summen af inputstørrelse og blandet læsestørrelse
  • Dataskrivning: summen af outputstørrelsen og størrelsen af shuffle-skrivninger
  • Udførelsestid: tiden mellem starttidspunktet for det første forsøg og afslutningstidspunktet for det sidste forsøg
  • Rækkeantal: summen af inputposter, outputposter, bland læseposter og blandede skriveposter
  • Status

Bemærk

Jobdiagramnoden viser som standard oplysninger fra det sidste forsøg på hver fase (undtagen tidspunktet for udførelse af fase). Under afspilningen viser grafnoden dog oplysninger om hvert forsøg.

Datastørrelsen for læsning og skrivning er 1 MB = 1000 KB = 1000 * 1000 byte.

Sende feedback

Send feedback med problemer ved at vælge Giv os feedback.

Screenshot showing spark application and job graph feedback.

Udforsk fanen Diagnosticering på Apache Spark-oversigtsserveren

Hvis du vil have adgang til fanen Diagnosticering, skal du vælge et job-id. Vælg derefter Diagnosticering i værktøjsmenuen for at få jobdiagnosticeringsvisningen. Fanen Diagnosticering indeholder Data skew, Time Skew og Executor Usage Analysis.

Kontrollér dataforvrængelse, tidsforvrængelse og analyse af eksekveringsanvendelse ved at vælge fanerne.

Screenshot showing sparkUI diagnosis data skew tab again.

Dataforvrænget

Når du vælger fanen Dataforvrænge , vises de tilsvarende skæve opgaver baseret på de angivne parametre.

  • Angiv parametre – I det første afsnit vises parametrene, som bruges til at registrere dataforvrænget. Standardreglen er: Læsning af opgavedata er større end tre gange den gennemsnitlige læsning af opgavedata, og opgavedataene er mere end 10 MB. Hvis du vil definere din egen regel for skæve opgaver, kan du vælge dine parametre. Sektionerne Skæv fase og Skævt tegn opdateres tilsvarende.

  • Skæv fase – I det andet afsnit vises faser, som har skæve opgaver, der opfylder de tidligere angivne kriterier. Hvis der er mere end én skæv opgave i en fase, viser tabellen med skæve faser kun den mest skæve opgave (f.eks. de største data for dataforvrænget).

    Screenshot showing spark ui diagnosis data skew tab.

  • Skævt diagram – Når der vælges en række i tabellen med skæve faser, viser skævt diagrammet flere oplysninger om opgavefordeling baseret på datalæsnings- og udførelsestid. De skæve opgaver er markeret med rødt, og de normale opgaver er markeret med blåt. Diagrammet viser op til 100 eksempelopgaver, og opgavedetaljerne vises i højre nederste panel.

    Screenshot showing spark ui skew chart for stage 10.

Tidsforvrænget

Under fanen Tidsforvrænget vises skæve opgaver baseret på opgavens udførelsestid.

  • Angiv parametre – I det første afsnit vises parametrene, som bruges til at registrere tidsforvrænget tid. Standardkriterierne for registrering af tidsforvrængelse er: Opgavens udførelsestid er større end tre gange den gennemsnitlige udførelsestid, og opgavens udførelsestid er større end 30 sekunder. Du kan ændre parametrene baseret på dine behov. Under Skæv fase og Skævt diagram vises de tilsvarende oplysninger om faser og opgaver på samme måde som fanen Dataforvrænget , der er beskrevet tidligere.

  • Vælg Tidsforvrænget, hvorefter filtreret resultat vises i sektionen Skæv fase i henhold til de parametre, der er angivet i afsnittet Angiv parametre. Vælg ét element i sektionen Skæv fase , derefter udarbejdes det tilsvarende diagram i sektion 3, og opgavedetaljerne vises i højre nederste panel.

    Screenshot showing spark ui diagnosis time skew section.

Besøgsanalyse af eksekvering

Denne funktion frarådes i Fabric nu. Hvis du stadig vil bruge dette som en løsning, skal du få adgang til siden ved eksplicit at tilføje "/executorusage" bag stien "/diagnosticering" i URL-adressen på følgende måde:

Screenshot showing modify the url.