Delen via


Referentie systeemtabel voor queryhistorie

Important

Deze systeemtabel bevindt zich in Openbare Preview.

Dit artikel bevat informatie over de tabel met querygeschiedenissystemen, inclusief een overzicht van het schema van de tabel.

tabelpad: deze systeemtabel bevindt zich op system.query.history.

De querygeschiedenistabel gebruiken

De tabel querygeschiedenis bevat records voor query's die worden uitgevoerd met behulp van SQL-warehouses of serverloze berekeningen voor notebooks en taken. De tabel bevat accountbrede records uit alle werkruimten in dezelfde regio waaruit u toegang hebt tot de tabel.

Standaard hebben alleen beheerders toegang tot de systeemtabel. Als u de gegevens van de tabel wilt delen met een gebruiker of groep, raadt Databricks u aan een dynamische weergave te maken voor elke gebruiker of groep. Zie Een dynamische weergave maken.

Schema van systeemtabel voor querygeschiedenis

De tabel querygeschiedenis maakt gebruik van het volgende schema:

Kolomnaam Gegevenstype Description Example
account_id string Id van het account. 11e22ba4-87b9-4cc2
-9770-d10b894b7118
workspace_id string De id van de werkruimte waarop de query is uitgevoerd. 1234567890123456
statement_id string De ID die de uitvoering van de instructie uniek identificeert. U kunt deze ID gebruiken om de uitvoering van de query te vinden in de Querygeschiedenis-interface. 7a99b43c-b46c-432b
-b0a7-814217701909
session_id string De Spark-sessie-id. 01234567-cr06-a2mp
-t0nd-a14ecfb5a9c2
execution_status string De beëindigingsstatus van de verklaring. Mogelijke waarden zijn:
  • FINISHED: uitvoering is geslaagd
  • FAILED: uitvoering is mislukt met de reden voor de fout die wordt beschreven in het bijbehorende foutbericht
  • CANCELED: uitvoering is geannuleerd
FINISHED
compute struct Een struct die het type rekenresource aangeeft dat wordt gebruikt om de instructie en de id van de resource uit te voeren, indien van toepassing. De type waarde zal óf WAREHOUSE óf SERVERLESS_COMPUTE zijn. {
type: WAREHOUSE,
cluster_id: NULL,
warehouse_id: ec58ee3772e8d305
}
executed_by_user_id string De ID van de gebruiker die de statement heeft uitgevoerd. 2967555311742259
executed_by string Het e-mailadres of de gebruikersnaam van de gebruiker die de instructie heeft uitgevoerd. example@databricks.com
statement_text string Tekst van de SQL-instructie. Als u door de klant beheerde sleutels hebt geconfigureerd, statement_text is deze leeg. Vanwege opslagbeperkingen worden tekstwaarden voor langere instructies gecomprimeerd. Zelfs met compressie bereikt u mogelijk een tekenlimiet. SELECT 1
statement_type string Het verklaringstype. Bijvoorbeeld: ALTER, COPYen INSERT. SELECT
error_message string Bericht met een beschrijving van de fouttoestand. Als u door de klant beheerde sleutels hebt geconfigureerd, error_message is deze leeg. [INSUFFICIENT_PERMISSIONS]
Insufficient privileges:
User does not have
permission SELECT on table
'default.nyctaxi_trips'.
client_application string Clienttoepassing die de opdracht heeft uitgevoerd. Bijvoorbeeld: Databricks SQL Editor, Tableau en Power BI. Dit veld is afgeleid van informatie die wordt verstrekt door clienttoepassingen. Hoewel waarden naar verwachting statisch blijven in de loop van de tijd, kan dit niet worden gegarandeerd. Databricks SQL Editor
client_driver string De connector die wordt gebruikt om verbinding te maken met Databricks ten behoeve van het uitvoeren van de instructie. Bijvoorbeeld: Databricks SQL-stuurprogramma voor Go, Databricks ODBC-stuurprogramma, Databricks JDBC-stuurprogramma. Databricks JDBC Driver
cache_origin_statement_id string Voor queryresultaten die zijn opgehaald uit de cache, bevat dit veld de instructie-id van de query die het resultaat oorspronkelijk in de cache heeft ingevoegd. Als het resultaat van de query niet uit de cache wordt opgehaald, bevat dit veld het instructie-ID van de query zelf. 01f034de-5e17-162d
-a176-1f319b12707b
total_duration_ms bigint Totale uitvoeringstijd van de instructie in milliseconden (exclusief tijd voor het ophalen van resultaten). 1
waiting_for_compute_duration_ms bigint Tijd die is besteed aan het wachten op het inrichten van rekenresources in milliseconden. 1
waiting_at_capacity_duration_ms bigint Tijd die is besteed aan wachten in de wachtrij voor de beschikbare rekencapaciteit in milliseconden. 1
execution_duration_ms bigint De tijd die is besteed aan het uitvoeren van de instructie in milliseconden. 1
compilation_duration_ms bigint Tijd besteed aan het laden van metagegevens en het optimaliseren van de instructie in milliseconden. 1
total_task_duration_ms bigint De som van alle taakduurs in milliseconden. Deze tijd vertegenwoordigt de gecombineerde tijd die nodig was om de query uit te voeren op alle kernen van alle knooppunten. Het kan aanzienlijk langer zijn dan de duur van de wandklok als meerdere taken parallel worden uitgevoerd. Het kan korter zijn dan de weergegeven tijd op de wandklok als taken wachten op beschikbare knooppunten. 1
result_fetch_duration_ms bigint De tijd die in milliseconden is besteed, haalt de instructieresultaten op nadat de uitvoering is voltooid. 1
start_time timestamp Het tijdstip waarop Databricks de aanvraag heeft ontvangen. Tijdzonegegevens worden vastgelegd aan het einde van de waarde, waarbij +00:00 UTC vertegenwoordigt. 2022-12-05T00:00:00.000+0000
end_time timestamp Het tijdstip waarop de uitvoering van de opdracht eindigde, exclusief de tijd die nodig is voor het ophalen van resultaten. Tijdzonegegevens worden vastgelegd aan het einde van de waarde, waarbij +00:00 UTC vertegenwoordigt. 2022-12-05T00:00:00.000+00:00
update_time timestamp Het moment waarop de verklaring het laatst een voortgangsupdate heeft ontvangen. Tijdzonegegevens worden vastgelegd aan het einde van de waarde, waarbij +00:00 UTC vertegenwoordigt. 2022-12-05T00:00:00.000+00:00
read_partitions bigint Het aantal partities dat na het snoeien is gelezen. 1
pruned_files bigint Het aantal gesnoeide bestanden. 1
read_files bigint Het aantal bestanden dat is gelezen na het snoeien. 1
read_rows bigint Het totale aantal rijen dat door de instructie is gelezen. 1
produced_rows bigint Totaal aantal rijen dat door de statement wordt teruggegeven. 1
read_bytes bigint De totale grootte van gegevens die worden gelezen door de opdracht in bytes. 1
read_io_cache_percent int Het percentage bytes aan permanente gegevens dat wordt gelezen uit de IO-cache. 50
from_result_cache boolean TRUE geeft aan dat het resultaat van de instructie is opgehaald uit de cache. TRUE
spilled_local_bytes bigint Grootte van gegevens, in bytes, tijdelijk naar schijf geschreven tijdens het uitvoeren van de instructie. 1
written_bytes bigint De grootte in bytes van persistente gegevens die naar de cloudopslag zijn geschreven. 1
written_rows bigint Het aantal rijen met permanente gegevens dat naar de opslag van cloudobjecten is geschreven. 1
written_files bigint Aantal bestanden met permanente gegevens die naar de opslag van cloudobjecten zijn geschreven. 1
shuffle_read_bytes bigint De totale hoeveelheid gegevens in bytes die via het netwerk worden verzonden. 1
query_source struct Een struct die sleutel-waardeparen bevat die Databricks-objecten vertegenwoordigen die betrokken waren bij de uitvoering van deze opdracht, zoals taken, notebooks of dashboards. Dit veld registreert alleen Databricks-entiteiten. {
alert_id: 81191d77-184f-4c4e-9998-b6a4b5f4cef1,
sql_query_id: null,
dashboard_id: null,
notebook_id: null,
job_info: {
job_id: 12781233243479,
job_run_id: null,
job_task_run_id: 110373910199121
},
legacy_dashboard_id: null,
genie_space_id: null
}
query_parameters struct Een struct met benoemde en positionele parameters die worden gebruikt in geparameteriseerde query's. Benoemde parameters worden weergegeven als sleutel-waardeparen die parameternamen toewijzen aan waarden. Positionele parameters worden weergegeven als een lijst waarin de index de parameterpositie aangeeft. Slechts één type (benoemd of positioneel) kan tegelijk aanwezig zijn. {
named_parameters: {
"param-1": 1,
"param-2": "hello"
},
pos_parameters: null,
is_truncated: false
}
executed_as string De naam van de gebruiker of service-principal waarvan de bevoegdheid is gebruikt om de instructie uit te voeren. example@databricks.com
executed_as_user_id string De id van de gebruiker of service-principal waarvan de bevoegdheid is gebruikt om de instructie uit te voeren. 2967555311742259

Het queryprofiel voor een record weergeven

Ga als volgt te werk om naar het queryprofiel van een query te navigeren op basis van een record in de tabel querygeschiedenis:

  1. Identificeer de record van interesse en kopieer record statement_id.
  2. Verwijs naar het record's workspace_id zodat u zich in dezelfde werkruimte bevindt als het record.
  3. Klik op het pictogram Geschiedenis.Querygeschiedenis in de zijbalk van de werkruimte.
  4. Plak de record in het statement_id.
  5. Klik op de naam van een query. Er wordt een overzicht van metrische querygegevens weergegeven.
  6. Klik op Bekijk queryprofiel.

Inzicht in query_source kolom

De query_source kolom bevat een set unieke id's van Azure Databricks-entiteiten die betrokken zijn bij de uitvoering van de instructie.

Als de query_source kolom meerdere id's bevat, betekent dit dat de uitvoering van de instructie is geactiveerd door meerdere entiteiten. Een taakresultaat kan bijvoorbeeld een waarschuwing activeren die een SQL-query aanroept. In dit voorbeeld worden alle drie de id's ingevuld binnen query_source. De waarden van deze kolom worden niet gesorteerd op uitvoeringsvolgorde.

Mogelijke querybronnen zijn:

  • alert_id: Instructie geactiveerd vanuit een waarschuwing
  • sql_query_id: Instructie uitgevoerd vanuit deze SQL-editorsessie
  • dashboard_id: Instructie uitgevoerd vanuit een dashboard
  • legacy_dashboard_id: Instructie uitgevoerd vanuit een verouderd dashboard
  • genie_space_id: Instructie uitgevoerd vanuit een Genie-ruimte
  • notebook_id: Instructie uitgevoerd vanuit een notebook
  • job_info.job_id: Instructie uitgevoerd binnen een taak
  • job_info.job_run_id: Instructie uitgevoerd vanaf een taakuitvoering
  • job_info.job_task_run_id: Instructie uitgevoerd binnen een taakuitvoering

Geldige combinaties van query_source

In de volgende voorbeelden ziet u hoe de query_source kolom wordt ingevuld, afhankelijk van hoe de query wordt uitgevoerd:

  • Query's die tijdens een taakuitvoering worden uitgevoerd, bevatten een gevulde job_info struct:

    {
    alert_id: null,
    sql_query_id: null,
    dashboard_id: null,
    notebook_id: null,
    job_info: {
    job_id: 64361233243479,
    job_run_id: null,
    job_task_run_id: 110378410199121
    },
    legacy_dashboard_id: null,
    genie_space_id: null
    }

  • Query's van verouderde dashboards bevatten een sql_query_id en legacy_dashboard_id:

    {
    alert_id: null,
    sql_query_id: 7336ab80-1a3d-46d4-9c79-e27c45ce9a15,
    dashboard_id: null,
    notebook_id: null,
    job_info: null,
    legacy_dashboard_id: 1a735c96-4e9c-4370-8cd7-5814295d534c,
    genie_space_id: null
    }

  • Query's van waarschuwingen omvatten een sql_query_id en alert_id:

    {
    alert_id: e906c0c6-2bcc-473a-a5d7-f18b2aee6e34,
    sql_query_id: 7336ab80-1a3d-46d4-9c79-e27c45ce9a15,
    dashboard_id: null,
    notebook_id: null,
    job_info: null,
    legacy_dashboard_id: null,
    genie_space_id: null
    }

  • Query's van dashboards bevatten een dashboard_id, maar nee job_info:

    {
    alert_id: null,
    sql_query_id: null,
    dashboard_id: 887406461287882,
    notebook_id: null,
    job_info: null,
    legacy_dashboard_id: null,
    genie_space_id: null
    }