Queryprofiel
U kunt een queryprofiel gebruiken om de details van een queryuitvoering te visualiseren. Met het queryprofiel kunt u prestatieknelpunten oplossen tijdens de uitvoering van de query. Voorbeeld:
- U kunt elke querytaak en de bijbehorende metrische gegevens visualiseren, zoals de tijd die is besteed, het aantal verwerkte rijen, de verwerkte rijen en het geheugenverbruik.
- U kunt in één oogopslag het langzaamste deel van een queryuitvoering identificeren en de gevolgen van wijzigingen in de query beoordelen.
- U kunt veelvoorkomende fouten in SQL-instructies detecteren en oplossen, zoals het uitploten van joins of volledige tabelscans.
Belangrijk
De tijd die is vastgelegd in de querygeschiedenis voor een SQL-query, is alleen de tijd die het SQL-warehouse daadwerkelijk besteedt aan het uitvoeren van de query. Er wordt geen extra overhead vastgelegd die is gekoppeld aan het voorbereiden om de query uit te voeren, zoals interne wachtrijen, of extra tijd met betrekking tot het uploaden en downloaden van gegevens.
Vereisten
Als u een queryprofiel wilt weergeven, moet u de eigenaar van de query zijn of moet u de machtiging CAN MANAGE hebben voor het SQL-warehouse dat de query heeft uitgevoerd.
Een queryprofiel weergeven
Nadat u een query hebt uitgevoerd in de SQL-editor of in een notebook, kunt u het queryprofiel openen door te klikken op het verstreken tijdstip onder aan de uitvoer.
U kunt het queryprofiel ook als volgt bekijken vanuit de querygeschiedenis:
Klik op de naam van een query. Er wordt een overzicht van metrische querygegevens weergegeven.
Klik op Queryprofiel weergeven.
Notitie
Als er geen queryprofiel beschikbaar is, is er geen profiel beschikbaar voor deze query. Een queryprofiel is niet beschikbaar voor query's die worden uitgevoerd vanuit de querycache. Als u de querycache wilt omzeilen, moet u een triviale wijziging aanbrengen in de query, zoals het wijzigen of verwijderen van de
LIMIT
query.Als u het queryprofiel wilt weergeven in de grafiekweergave (de standaardweergave), klikt u op Grafiekweergave. Als u het queryprofiel wilt weergeven als een boomstructuur, klikt u op Structuurweergave.
- Grafiekweergave is geoptimaliseerd om te visualiseren hoe gegevens van het ene knooppunt naar het andere stromen.
- Structuurweergave is geoptimaliseerd voor het snel vinden van problemen met de prestaties van de query, zoals het identificeren van de langst lopende operator.
In de grafiekweergave of structuurweergave kunt u op een van de tabbladen boven aan de pagina klikken om details over elk van de taken van de query weer te geven.
- Tijd die is besteed: de som van de uitvoeringstijd die door alle taken voor elke bewerking is besteed.
- Rijen: het aantal en de grootte van de rijen die worden beïnvloed door elk van de taken van de query.
- Piekgeheugen: het piekgeheugen dat elk van de verbruikte querytaken bevat.
Notitie
Sommige niet-Photon-bewerkingen worden uitgevoerd als een groep en delen algemene metrische gegevens. In dit geval hebben alle subtaken dezelfde waarde als de bovenliggende taak voor een bepaalde metrische waarde.
Als een taak subtaken bevat, klikt u in de grafiekweergave op een knooppunt om de details ervan weer te geven. In de structuurweergave kunt u erop klikken > om deze uit te vouwen.
De bewerking van elke taak wordt weergegeven. Standaard zijn taken en metrische gegevens voor sommige bewerkingen verborgen. Deze bewerkingen zijn waarschijnlijk niet de oorzaak van prestatieknelpunten. Als u informatie voor alle bewerkingen wilt bekijken en aanvullende metrische gegevens wilt zien, klikt u boven aan de pagina en klikt u vervolgens op Uitgebreide modus inschakelen. De meest voorkomende bewerkingen zijn:
- Scan: Gegevens zijn gelezen uit een gegevensbron en uitvoer als rijen.
- Join: Rijen van meerdere relaties zijn gecombineerd (interleaved) in één set rijen.
- Samenvoeging: rijen uit meerdere relaties die hetzelfde schema gebruiken, zijn samengevoegd in één set rijen.
- Shuffle: gegevens zijn opnieuw gedistribueerd of opnieuw gepartitioneerd. Shuffle-bewerkingen zijn duur met betrekking tot resources omdat ze gegevens verplaatsen tussen uitvoerders in het cluster.
- Hash/sortering: rijen zijn gegroepeerd op een sleutel en geëvalueerd met behulp van een statistische functie, zoals
SUM
,COUNT
ofMAX
binnen elke groep. - Filter: Invoer wordt gefilterd op basis van een criterium, zoals door een
WHERE
component, en er wordt een subset van rijen geretourneerd. - (Opnieuw gebruikt) Exchange: Een Shuffle- of Broadcast-exchange wordt gebruikt om de gegevens opnieuw te distribueren tussen de clusterknooppunten op basis van de gewenste partitionering.
- Limiet verzamelen: het aantal geretourneerde rijen is afgekapt met behulp van een
LIMIT
instructie. - Neem Geordende en project: de bovenste N rijen van het queryresultaat zijn geretourneerd.
Als u het queryprofiel in de Apache Spark-gebruikersinterface wilt weergeven, klikt u boven aan de pagina en klikt u vervolgens op Openen in de Spark-gebruikersinterface.
Als u het geïmporteerde queryprofiel wilt sluiten, klikt u op X boven aan de pagina.
Details over het queryprofiel weergeven
Het queryprofiel bevat de taken op het hoogste niveau van de query in omgekeerde volgorde, met de laatste taak die als eerste wordt vermeld. Aan de linkerkant worden in drie kolommen de takenreeks, de naam van de bewerking en een grafiek van de geselecteerde metriek voor die taak weergegeven. Volg deze stappen om vertrouwd te raken met de verschillende onderdelen van het queryprofiel.
- Klik op Tijd om de duur van elke subtaak weer te geven.
- Klik op Rijen om het aantal en de grootte van rijen weer te geven die door de query worden geretourneerd.
- Klik op Geheugen om het geheugen weer te geven dat door elke querytaak wordt verbruikt. Als de taak subtaken bevat, kunt u klikken > om details over elke subtaak weer te geven.
- Klik aan de rechterkant op Overzicht om de SQL-instructie, status, begin- en eindtijd van de query, duur, de gebruiker die de query heeft uitgevoerd en het magazijn waar de query is uitgevoerd te bekijken.
- Klik op een taak om details over de taak weer te geven, zoals de beschrijving en metrische gegevens van de taak over de duur, het geheugengebruik, het aantal en de grootte van geretourneerde rijen en herkomst.
- Klik op X om de details van subtaken te sluiten.
- Klik op de naam van het SQL Warehouse om naar de eigenschappen van dat magazijn te gaan.
- Als u het queryprofiel in de Apache Spark-gebruikersinterface wilt weergeven, klikt u boven aan de pagina en klikt u vervolgens op Openen in de Spark-gebruikersinterface.
- Als u het queryprofiel wilt sluiten, klikt u op X boven aan de pagina.
Een queryprofiel delen
Een queryprofiel delen met een andere gebruiker:
- Querygeschiedenis weergeven.
- Klik op de naam van de query.
- Als u de query wilt delen, hebt u twee opties:
- Als de andere gebruiker de machtiging CAN MANAGE voor de query heeft, kunt u de URL voor het queryprofiel met hen delen. Klik op Delen. De URL wordt gekopieerd naar het Klembord.
- Als de andere gebruiker niet beschikt over de machtiging CAN MANAGE of geen lid is van de werkruimte, kunt u het queryprofiel downloaden als een JSON-object. Download. Het JSON-bestand wordt gedownload naar uw lokale systeem.
Een queryprofiel importeren
De JSON importeren voor een queryprofiel:
Klik in de rechterbovenhoek ophetmenu en selecteer Queryprofiel importeren (JSON).
Selecteer in de bestandsbrowser het JSON-bestand dat met u is gedeeld en klik op Openen. Het JSON-bestand wordt geüpload en het queryprofiel wordt weergegeven.
Wanneer u een queryprofiel importeert, wordt het dynamisch geladen in uw browsersessie en blijft het niet behouden in uw werkruimte. U moet deze telkens opnieuw importeren wanneer u deze wilt bekijken.
Als u het geïmporteerde queryprofiel wilt sluiten, klikt u op X boven aan de pagina.
Volgende stappen
- Meer informatie over het openen van metrische querygegevens met behulp van de API voor querygeschiedenis
- Meer informatie over querygeschiedenis