Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Apache Spark-rådgivaren analyserar kommandon och kod som körs av Apache Spark och visar råd i realtid för Notebook-körningar. Apache Spark-rådgivaren har inbyggda mönster som hjälper användarna att undvika vanliga misstag. Den ger rekommendationer för kodoptimering, utför felanalys och letar upp rotorsaken till fel.
Inbyggda råd
Spark-rådgivaren, ett verktyg som är integrerat med Impulse, tillhandahåller inbyggda mönster för att identifiera och lösa problem i Apache Spark-program. I den här artikeln beskrivs några av de mönster som ingår i verktyget.
Du kan öppna panelen Senaste körningar baserat på vilken typ av råd du behöver.
Kan returnera inkonsekventa resultat när du använder "randomSplit"
Inkonsekventa eller felaktiga resultat kan returneras när du arbetar med metoden randomSplit . Använd Apache Spark-cachelagring (RDD) innan du använder metoden randomSplit().
Metoden randomSplit() motsvarar att utföra sample() på dataramen flera gånger. Där varje prov hämtar om, partitionerar och sorterar din dataram. Datadistributionen mellan partitioner och sorteringsordningen är viktig för både randomSplit() och sample(). Om någon av dem ändras vid förnyad datahämtning kan det finnas dubbletter eller saknade värden i delningarna. Och samma exempel som använder samma frö kan ge olika resultat.
Dessa inkonsekvenser kanske inte inträffar vid varje körning, men för att eliminera dem helt cachelagrar du dataramen, partitionerar om en kolumn eller använder aggregeringsfunktioner som groupBy.
Tabell-/vynamn används redan
Det finns redan en vy med samma namn som den skapade tabellen, eller så finns det redan en tabell med samma namn som den skapade vyn. När det här namnet används i frågor eller program returneras endast vyn oavsett vilken som skapades först. För att undvika konflikter byter du namn på antingen tabellen eller vyn.
Det går inte att identifiera ett tips
spark.sql("SELECT /*+ unknownHint */ * FROM t1")
Det går inte att hitta ett angivet relationsnamn
Det går inte att hitta de relationer som anges i tipset. Kontrollera att relationerna är rättstavade och tillgängliga inom omfånget för tipset.
spark.sql("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")
Ett tips i frågan förhindrar att ett annat tips tillämpas
Den valda frågan innehåller ett tips som förhindrar att ett annat tips tillämpas.
spark.sql("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")
Aktivera "spark.advise.divisionExprConvertRule.enable" för att minska spridningen av avrundningsfel
Den här frågan innehåller ett uttryck av typen Double. Vi rekommenderar att du aktiverar konfigurationen "spark.advise.divisionExprConvertRule.enable", vilket kan bidra till att minska divisionsuttrycken och minska spridningen av avrundningsfel.
"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"
Aktivera "spark.advise.nonEqJoinConvertRule.enable" för att förbättra frågeprestanda
Den här frågan innehåller tidskrävande koppling på grund av villkoret "Eller" i frågan. Vi rekommenderar att du aktiverar konfigurationen "spark.advise.nonEqJoinConvertRule.enable", vilket kan hjälpa till att konvertera kopplingen som utlöses av "Or"-villkoret till SMJ eller BHJ för att påskynda frågan.
Användarupplevelse
Apache Spark-rådgivaren visar råd, inklusive information, varningar och fel, i realtid vid utdata för notebook-celler.
Inställning för Spark Advisor
Med inställningen Spark Advisor kan du välja om du vill visa eller dölja specifika typer av Spark-råd efter dina behov. Dessutom har du flexibiliteten att aktivera eller inaktivera Spark Advisor för dina notebooks på en arbetsyta enligt dina preferenser.
Du kan komma åt Spark Advisor-inställningarna på fabric Notebook-nivån för att dra nytta av dess fördelar och säkerställa en produktiv redigeringsupplevelse för notebook-filer.


