Kommentar
Å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.
Viktigt!
Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.
På den här sidan beskrivs de prestandainsikter som Azure Databricks returnerar i frågehistoriken och hur du agerar på dem.
När frågor körs kan Azure Databricks returnera insikter som identifierar möjligheter att förbättra prestandan, eller som rapporterar optimeringar som redan har tillämpats.
Hitta insikter och rekommendationer för din fråga
Insikter visas i din frågehistorik och i frågeprofilen. Frågeinformationspanelen visar en sammanfattning av insikter, rangordnade efter deras uppskattade effekt på den totala aktivitetens varaktighet. Fliken Prestandainsikter i frågeprofilen visar fullständig information för varje insikt.
Optimera med Genie Code
När en fråga har användbara insikter väljer du Optimera för att öppna Genie Code. För insikter som kräver en frågeändring skriver Genie Code om frågan och presenterar ändringarna för ditt godkännande. För insikter som omfattar tabell- eller beräkningsändringar sammanfattar Genie Code de rekommenderade åtgärderna som klartext.
Mer information om hur du arbetar med Genie Code finns i Genie Code.
Insikter om frågeoptimering
COVERAGE_FILTER_KEYS_CLUSTERING
Tabellen grupperas med en eller flera nycklar som inte används i filter under tabellgenomsökningen.
Rekommendation: Lägg till filter på klustringsnycklarna för att minska läsningen av byte.
COVERAGE_FILTER_KEYS_PARTITIONING
Tabellen partitioneras av en eller flera nycklar som inte används i filter under tabellgenomsökningen.
Rekommendation: Lägg till filter på partitioneringsnycklarna för att minska läsningen av byte.
COVERAGE_PHOTON
Photon kan inte påskynda den här åtgärden, så frågan använder standardkörningsmotorn.
Rekommendation: Granska begränsningar för foton och justera frågan så att den använder en körningssökväg som stöds.
EXPLODING_JOIN
Kopplingen ger betydligt fler rader än den läser.
Rekommendation: Ta reda på vilken resultatunderuppsättning du behöver och uppdatera sedan kopplingsvillkoret eller minska antalet indatarader från båda relationerna.
FLOW_FULL_RECOMPUTE
Flödet körs som en fullständig omkompensering.
Rekommendation: Skriv om frågan för inkrementellt stöd för att minska läsningen av byte.
REDUNDANT_AGGREGATION
En aggregeringsåtgärd ändrade inte frågeresultatet.
Rekommendation: Ta bort aggregerade eller tillämpa primär- och sekundärnyckelbegränsningar.
REDUNDANT_JOIN
En yttre skarv ändrade inte radräkningen på yttersidan, och inga kolumner från den sammanfogade tabellen används.
Rekommendation: Ta bort joinen eller applicera primärnyckeln eller unika begränsningar.
SELECTIVE_JOIN
Kopplingen ger betydligt färre rader än den läser.
Rekommendation: Ta reda på vilken resultatunderuppsättning du behöver och lägg sedan till filter före kopplingen för att minska indatarader.
WIDE_PROJECTION
Frågan projicerar alla kolumner från tabellen.
Rekommendation: Project bara de kolumner som du behöver för att minska antalet lästa byte.
Insikter om datalayout
Samtidig_Skrivning
Samtidiga skrivningar till tabellen orsakar konflikter som löses automatiskt eller misslyckas.
Rekommendation: Granska Deltahistorik för att identifiera samtidiga skrivningar och justera schemaläggningen för att undvika konflikter.
COVERAGE_STATS_DELTA
Deltadata som hoppar över statistik saknas eller är ofullständiga för filfilter för tabellgenomsökning, så frågan använder filfiltrering.
Statistikstatusen för varje filter kan vara något av följande:
- Full: Statistik är tillgänglig för alla filter.
- Delvis: Statistik är tillgänglig för en delmängd filter.
- Tillgänglig: Statistik är inte tillgänglig för något filter.
- Oanvända: Det går inte att använda statistik eftersom filtret konverterar datatypen.
Rekommendation:Samla in deltastatistik för att minska läsningen av byte.
COVERAGE_STATS_OPTIMIZER
Kostnadsbaserad optimerarstatistik saknas eller är ofullständig, så frågeplanen använder standard-heuristik.
Rekommendation:Samla in statistik för att optimeraren ska kunna skapa en bättre plan.
DATA_SKEW
Data fördelas ojämnt mellan beräkningsresurser.
Rekommendation: Granska datadistributionen och använd sedan nyckelsaltning eller föraggregering för att balansera arbetsbelastningen.
MANUAL_DATA_LAYOUT
Tabellen är manuellt optimerad och kan dra nytta av automatisk vätskeklustring.
Recommendations:
- Konvertera tabellen från extern till hanterad för bättre prestanda och automatiskt underhåll.
- Aktivera förutsägelseoptimering i tabellen för automatiska underhållsåtgärder.
- Aktivera automatisk klustring i tabellen för att minska läsningen av byte.
Insikter om beräkning och resurser
DATA_SPILL
Data som spillts till disken under frågekörningen eftersom data inte fick plats i minnet.
Rekommendation: Öka lagerstorleken för att lägga till minne. Minska antalet rader, kolumner eller storleken på stora kolumner (strängar, matriser, kartor, structs) för att minska minnesanvändningen.
EXCESSIVE_QUEUE_TIME
Frågan väntade i lagerkön .
Rekommendation: Öka det maximala antalet kluster i lagret för att minska kötiden.
I/O-begränsning
En molnlagringsbegäran begränsades av molnleverantören.
Rekommendation: Kontakta administratören för att begära utökade gränser för lagringsbegäran från molnleverantören.
Applicerade accelerationer
Dessa insikter beskriver optimeringar som Azure Databricks redan har tillämpat under frågeexekveringen. De visas i fliken Performance insights med en Accelererad-etikett och kräver ingen åtgärd.
AUTO_LIQUID_CLUSTERING
Denna fråga läste mindre data eftersom dess tabeller använder Automatic Liquid Clustering. Azure Databricks klustrar kontinuerligt varje tabell efter de nycklar den lär sig från din arbetsbelastning, så skanningar hoppar över filer som inte kan matcha dina filter. Ingen justering eller manuell partitionering krävs.
HISTORY_BASED_JOIN_STRATEGY
Azure Databricks optimerade denna frågas join med mätningar från tidigare körningar av liknande frågor. Den valde en broadcast-join istället för att blanda data över klustret, baserat på din arbetsbelastningshistorik. Ingen ändring av förfrågan krävs.
SHORT_QUERY_PRIORITIZATION
Även om klustret var fullt, förutspådde Azure Databricks att denna fråga skulle vara kortvarig och körde den omedelbart genom en snabb process istället för att hålla den kvar i kön efter tyngre frågor. Detta håller interaktiva arbetsbelastningar responsiva under belastning.
Ytterligare resurser
En bredare översikt över metodtips för prestanda finns i den omfattande guiden för att optimera arbetsbelastningar i Databricks, Spark och Delta Lake.