Del via


Apache Spark-rådgiver for sanntidsråd om notatblokker

Apache Spark-rådgiveren analyserer kommandoer og kode som kjøres av Apache Spark, og viser råd i sanntid for notatblokkkjøringer. Apache Spark-rådgiveren har innebygde mønstre for å hjelpe brukerne med å unngå vanlige feil. Den gir anbefalinger for kodeoptimalisering, utfører feilanalyse og finner årsaken til feil.

Innebygde råd

Spark-rådgiveren, et verktøy integrert med Impulse, gir innebygde mønstre for å oppdage og løse problemer i Apache Spark-programmer. Denne artikkelen forklarer noen av mønstrene som er inkludert i verktøyet.

Du kan åpne ruten Nylige kjøringer basert på hvilken type råd du trenger.

Kan returnere inkonsekvente resultater når du bruker randomSplit

Inkonsekvente eller unøyaktige resultater kan returneres når du arbeider med randomSplit-metoden. Bruk Apache Spark (RDD)-hurtigbufring før du bruker randomSplit()-metoden.

Method randomSplit() tilsvarer å utføre eksempel() på datarammen flere ganger. Der hvert eksempel refetches, partisjoner, og sorterer datarammen i partisjoner. Datadistribusjonen på tvers av partisjoner og sorteringsrekkefølge er viktig for både randomSplit() og sample(). Hvis en av dem endres ved datarefetch, kan det være duplikater eller manglende verdier på tvers av delinger. Og det samme utvalget som bruker samme frø, kan gi forskjellige resultater.

Disse inkonsekvensene kan ikke skje på hver kjøring, men hvis du vil eliminere dem fullstendig, bufrer du datarammen, partisjonerer på nytt på en kolonne eller bruker mengdefunksjoner, for eksempel groupBy.

Tabell-/visningsnavn er allerede i bruk

Det finnes allerede en visning med samme navn som den opprettede tabellen, eller det finnes allerede en tabell med samme navn som den opprettede visningen. Når dette navnet brukes i spørringer eller programmer, returneres bare visningen uansett hvilken som ble opprettet først. Hvis du vil unngå konflikter, kan du gi nytt navn til enten tabellen eller visningen.

Gjenkjenner ikke et tips

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

Finner ikke et angitt relasjonsnavn

Finner ikke relasjonen(e) som er angitt i tipset. Kontroller at relasjonen(e) er stavet riktig og tilgjengelig innenfor hintomfanget.

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

Et tips i spørringen hindrer at et annet tips blir brukt

Den valgte spørringen inneholder et tips som hindrer at et annet tips blir brukt.

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

Aktiver spark.advise.divisionExprConvertRule.enable for å redusere overføring av avrundingsfeil

Denne spørringen inneholder uttrykket med dobbel type. Vi anbefaler at du aktiverer konfigurasjonen spark.advise.divisionExprConvertRule.enable, som kan bidra til å redusere divisjonsuttrykkene og redusere avrundingsfeiloverføringen.

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

Aktiver spark.advise.nonEqJoinConvertRule.enable for å forbedre spørringsytelsen

Denne spørringen inneholder tidkrevende sammenføyning på grunn av Or-betingelse i spørringen. Vi anbefaler at du aktiverer konfigurasjonen spark.advise.nonEqJoinConvertRule.enable, som kan bidra til å konvertere sammenføyningen utløst av "Or"-betingelsen til SMJ eller BHJ for å akselerere denne spørringen.

Brukeropplevelse

Apache Spark-rådgiveren viser råd, inkludert informasjon, advarsler og feil, ved notatblokkcelleutdata i sanntid.

  • Info Skjermbilde som viser informasjonen.

  • Advarsel Skjermbilde som viser advarselen.

  • Feil Skjermbilde som viser feilene.

Spark Advisor-innstilling

Spark Advisor-innstillingen lar deg velge om du vil vise eller skjule bestemte typer Spark-råd etter dine behov. I tillegg har du fleksibilitet til å aktivere eller deaktivere Spark Advisor for notatblokkene i et arbeidsområde, basert på innstillingene dine.

Du kan få tilgang til Innstillingene for Spark Advisor på Fabric Notebook-nivå for å dra nytte av fordelene og sikre en produktiv opplevelse for redigering av notatblokker.

Skjermbilde som viser innstillingen spark advisor.