Apache Spark-rådgiver for at få råd i realtid om notesbøger

Apache Spark-rådgiveren analyserer kommandoer og kode, der køres af Apache Spark, og viser råd i realtid om kørsler af notesbøger. Apache Spark-rådgiveren har indbyggede mønstre, der hjælper brugerne med at undgå almindelige fejl. Den indeholder anbefalinger til kodeoptimering, udfører fejlanalyse og finder rodårsagen til fejl.

Indbygget rådgivning

Spark Advisor, et værktøj, der er integreret med Impulse, giver indbyggede mønstre til registrering og løsning af problemer i Apache Spark-programmer. I denne artikel forklares nogle af de mønstre, der er inkluderet i værktøjet.

Du kan åbne ruden Seneste kørsler baseret på den type råd, du har brug for.

Kan returnere inkonsekvente resultater, når der bruges 'randomSplit'

Inkonsekvente eller unøjagtige resultater kan returneres, når du arbejder med metoden randomSplit . Brug Cachelagring af Apache Spark (RDD), før du bruger metoden randomSplit().

Metoden randomSplit() svarer til at udføre sample() på din dataramme flere gange. Hvor hvert eksempel refetches, partitioner og sorterer din dataramme i partitioner. Datafordelingen på tværs af partitioner og sorteringsrækkefølgen er vigtig for både randomSplit() og sample(). Hvis enten ændres ved datareference, kan der være dubletter eller manglende værdier på tværs af opdelinger. Og den samme prøve, der bruger det samme frø, kan give forskellige resultater.

Disse uoverensstemmelser sker muligvis ikke på alle kørsler, men for at fjerne dem fuldstændigt, skal du cachelagre din dataramme, ompartitionere på en eller flere kolonner eller anvende aggregerede funktioner, f.eks . groupBy.

Tabel-/visningsnavnet er allerede i brug

Der findes allerede en visning med samme navn som den oprettede tabel, eller der findes allerede en tabel med samme navn som den oprettede visning. Når dette navn bruges i forespørgsler eller programmer, returneres kun visningen, uanset hvilken der først blev oprettet. Hvis du vil undgå konflikter, skal du omdøbe enten tabellen eller visningen.

Et tip kunne ikke genkendes

spark.sql("SELECT /*+ unknownHint */ * FROM t1")

Et eller flere angivne relationsnavne blev ikke fundet

Den eller de relationer, der er angivet i tip, blev ikke fundet. Kontrollér, at relationerne er stavet korrekt og tilgængelige inden for tipområdet.

spark.sql("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")

Et tip i forespørgslen forhindrer, at der anvendes et andet tip

Den valgte forespørgsel indeholder et tip, der forhindrer, at der anvendes et andet tip.

spark.sql("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")

Aktivér 'spark.advise.divisionExprConvertRule.enable' for at reducere afrundingsfejloverførsel

Denne forespørgsel indeholder udtrykket med dobbelt type. Vi anbefaler, at du aktiverer konfigurationen 'spark.advise.divisionExprConvertRule.enable', som kan hjælpe med at reducere divisionsudtryk og reducere overførsel af afrundingsfejl.

"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"

Aktivér 'spark.advise.nonEqJoinConvertRule.enable' for at forbedre forespørgslens ydeevne

Denne forespørgsel indeholder tidskrævende joinforbindelse pga. betingelsen "Or" i forespørgslen. Vi anbefaler, at du aktiverer konfigurationen 'spark.advise.nonEqJoinConvertRule.enable', som kan hjælpe med at konvertere joinforbindelsen udløst af betingelsen "Or" til SMJ eller BHJ for at fremskynde denne forespørgsel.

Brugeroplevelse

Apache Spark-rådgiveren viser rådene, herunder oplysninger, advarsler og fejl, ved output af notesbøger i realtid.

  • Info Skærmbillede, der viser oplysningerne.

  • Advarsel Skærmbillede, der viser advarslen.

  • Fejl Skærmbillede, der viser fejlene.

Spark Advisor-indstilling

Indstillingen Spark Advisor giver dig mulighed for at vælge, om du vil vise eller skjule bestemte typer Spark-råd efter dine behov. Derudover har du fleksibiliteten til at aktivere eller deaktivere Spark Advisor for dine notesbøger i et arbejdsområde baseret på dine præferencer.

Du kan få adgang til Spark Advisor-indstillingerne på Fabric Notebook-niveauet for at få glæde af fordelene ved den og sikre en produktiv oplevelse med oprettelse af notesbøger.

Skærmbillede, der viser indstillingen for Spark Advisor.