Query Performance Inzichten

Belangrijk

Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks previews beheren.

Op deze pagina worden de prestatie-inzichten beschreven die Azure Databricks retourneert in de querygeschiedenis en hoe u hierop kunt reageren.

Wanneer query's worden uitgevoerd, kan Azure Databricks inzichten retourneren die kansen identificeren om de prestaties te verbeteren.

Inzichten en aanbevelingen voor uw query zoeken

Inzichten worden weergegeven in uw querygeschiedenis en in het queryprofiel. In het deelvenster met querydetails ziet u een overzicht van inzichten, gerangschikt op het geschatte effect op de totale duur van de taak. Op het tabblad Prestatieinzichten in het queryprofiel ziet u de volledige details voor elk inzicht.

Optimaliseren met Genie Code

Wanneer een query bruikbare inzichten heeft, selecteert u Optimaliseren om Genie Code te openen. Voor inzichten waarvoor een querywijziging is vereist, herschrijft Genie Code de query en worden de wijzigingen voor uw goedkeuring weergegeven. Voor inzichten die betrekking hebben op wijzigingen in tabellen of berekeningen, geeft Genie Code een overzicht van de aanbevolen acties als tekst zonder opmaak.

Zie Genie Code voor meer informatie over het werken met Genie Code.

Inzichten in queryoptimalisatie

COVERAGE_FILTER_KEYS_CLUSTERING

De tabel wordt geclusterd door een of meer sleutels die niet worden gebruikt in filters tijdens de tabelscan.

Aanbeveling: Voeg filters toe aan de clusteringsleutels om het lezen van bytes te verminderen.

COVERAGE_FILTER_KEYS_PARTITIONING

De tabel wordt gepartitioneerd door een of meer sleutels die niet worden gebruikt in filters tijdens de tabelscan.

Aanbeveling: Voeg filters toe aan de partitioneringssleutels om het lezen van bytes te verminderen.

COVERAGE_PHOTON

Photon kan deze bewerking niet versnellen, dus de query maakt gebruik van de standaardruntime-engine.

Aanbeveling: Controleer de beperkingen van Photon en pas de query aan om een ondersteund uitvoeringspad te gebruiken.

EXPLODING_JOIN

De join produceert aanzienlijk meer rijen dan wordt gelezen.

Aanbeveling: Bepaal welke resultaatsubset u nodig hebt en werk vervolgens de joinvoorwaarde bij of verminder het aantal invoerrijen uit beide relaties.

FLOW_FULL_RECOMPUTE

De stroom wordt uitgevoerd als een volledige hercomputing.

Aanbeveling: Herschrijf de query voor incrementele ondersteuning om leestijd van bytes te verminderen.

REDUNDANT_AGGREGATION

Bij een statistische bewerking is het queryresultaat niet gewijzigd.

Aanbeveling: Verwijder de aggregaties of pas beperkingen voor primaire en refererende sleutels toe.

SELECTIVE_JOIN

De join produceert aanzienlijk minder rijen dan wordt gelezen.

Aanbeveling: Bepaal welke resultaatsubset u nodig hebt en voeg filters toe vóór de join om invoerrijen te verminderen.

WIDE_PROJECTION

De query projecteert alle kolommen uit de tabel.

Aanbeveling: Project alleen de kolommen die u nodig hebt om het lezen van bytes te verminderen.

Inzichten in gegevensindeling

AUTO_LIQUID_CLUSTERING

De tabel is handmatig geoptimaliseerd en kan profiteren van automatische vloeistofclustering.

Recommendations:

GELIJKTIJDIG_SCHRIJVEN

Gelijktijdige schrijfbewerkingen naar de tabel veroorzaken conflicten die automatisch worden opgelost of mislukken.

Aanbeveling: Bekijk de Delta-geschiedenis om gelijktijdige schrijfbewerkingen te identificeren en de planning aan te passen om conflicten te voorkomen.

COVERAGE_STATS_DELTA

Statistieken voor het overslaan van Delta-gegevens ontbreken of zijn onvolledig voor de filterfilters voor tabelscans, dus de query maakt gebruik van in-file filtering.

De statistiekenstatus voor elk filter kan een van de volgende zijn:

  • Volledige: Statistieken zijn beschikbaar voor alle filters.
  • Gedeeltelijke: Statistieken zijn beschikbaar voor een subset van filters.
  • Niet beschikbaar: Statistieken zijn niet beschikbaar voor een filter.
  • Ongebruikte: Statistieken kunnen niet worden gebruikt omdat het gegevenstype door het filter wordt geconverteerd.

Aanbeveling:Delta-statistieken verzamelen om het lezen van bytes te verminderen.

COVERAGE_STATS_OPTIMIZER

Op kosten gebaseerde optimalisatiestatistieken ontbreken of zijn onvolledig, dus het queryplan maakt gebruik van standaard-heuristieken.

Aanbeveling:Verzamel statistieken om de optimizer in staat te stellen een beter plan te produceren.

DATA_SKEW

Gegevens worden ongelijk verdeeld over rekenresources.

Aanbeveling: Controleer de gegevensdistributie en gebruik vervolgens sleutelzout of pre-aggregatie om de werkbelasting te verdelen.

Compute- en resource-inzichten

DATA_SPILL

Gegevens die tijdens de uitvoering van de query naar de schijf zijn overgeslagen, omdat de gegevens niet in het geheugen passen.

Aanbeveling: Verhoog de grootte van het magazijn om geheugen toe te voegen. Verminder het aantal rijen, kolommen of de grootte van grote kolommen (tekenreeksen, matrices, kaarten, structs) om het geheugengebruik te verminderen.

EXCESSIVE_QUEUE_TIME

De query wachtte in de magazijnwachtrij .

Aanbeveling: Verhoog het maximum aantal clusters in het magazijn om de wachtrijtijd te verminderen.

IO_THROTTLING

Een aanvraag voor cloudopslag is beperkt door de cloudprovider.

Aanbeveling: Neem contact op met uw beheerder om hogere limieten voor opslagaanvragen van uw cloudprovider aan te vragen.

Aanvullende bronnen

Zie de uitgebreide handleiding voor het optimaliseren van Databricks-, Spark- en Delta Lake-workloads voor een breder overzicht van aanbevolen procedures voor prestaties.