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.
Important
Den här systemtabellen finns i offentlig förhandsversion.
Den här artikeln innehåller information om systemtabellen för frågehistorik, inklusive en disposition av tabellens schema.
Tabellsökväg: Den här systemtabellen finns på system.query.history.
Skivtillgänglighet
Register är vanligtvis tillgängliga inom en timme. Dataleverans för nya arbetsytor kan ta längre tid än så.
När frågehistoriktabellen använder kundhanterade nycklar gäller inte denna tillgänglighet. Se Läsa krypterade fält.
Använda frågehistoriktabellen
Frågehistoriktabellen innehåller poster för frågor som utförs med SQL-lager eller serverlös beräkning för notebooks och uppgifter. Tabellen innehåller kontoomfattande poster från alla arbetsytor i samma region som du kommer åt tabellen från.
Som standard har endast administratörer åtkomst till systemtabellen. Om du vill dela tabellens data med en användare eller grupp rekommenderar Databricks att du skapar en dynamisk vy för varje användare eller grupp. Se Skapa en dynamisk vy.
Systemtabellschema för frågehistorik
Tabellen för frågehistorik använder följande schema:
| Kolumnnamn | Datatyp | Description | Example |
|---|---|---|---|
account_id |
string | ID för kontot. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | ID för arbetsytan där frågan kördes. | 1234567890123456 |
statement_id |
string | Det ID som unikt identifierar körningen av instruktionen. Du kan använda det här ID:t för att hitta körningen av kommandot i användargränssnittet för frågehistorik. | 7a99b43c-b46c-432b-b0a7-814217701909 |
session_id |
string | Spark session-ID. | 01234567-cr06-a2mp-t0nd-a14ecfb5a9c2 |
execution_status |
string | Uttalandets avslutningstillstånd. Möjliga värden är:
|
FINISHED |
compute |
struct | En struct som representerar den typ av beräkningsresurs som används för att köra -instruktionen och ID:t för resursen i förekommande fall. Värdet type blir antingen WAREHOUSE eller SERVERLESS_COMPUTE. |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: ec58ee3772e8d305} |
executed_by_user_id |
string | ID:t för användaren som körde -instruktionen. | 2967555311742259 |
executed_by |
string | E-postadressen eller användarnamnet för användaren som körde -instruktionen. | example@databricks.com |
statement_text |
string | Text för SQL-instruktionen. Som standard återkommer <REDACTED> detta fält om du inte är kontoadministratör eller medlem i databricks_pii_access kontonivågruppen. Se Access maskerad uttalandetext. Om du har konfigurerat kundhanterade nycklar är statement_text tomt. På grund av lagringsbegränsningar komprimeras längre instruktionstextvärden. Även med komprimering kan du nå en teckengräns. |
SELECT 1 |
statement_type |
string | Instruktionstypen. Till exempel: ALTER, COPYoch INSERT. |
SELECT |
error_message |
string | Meddelande som beskriver feltillståndet. Om du har konfigurerat kundhanterade nycklar är error_message tomt. |
[INSUFFICIENT_PERMISSIONS] Insufficient privileges: User does not have permission SELECT on table 'default.nyctaxi_trips'. |
client_application |
string | Klientprogram som körde instruktionen. Till exempel: Databricks SQL Editor, Tableau och Power BI. Det här fältet härleds från information som tillhandahålls av klientprogram. Även om värden förväntas förbli statiska över tid kan detta inte garanteras. | Databricks SQL Editor |
client_driver |
string | Anslutningen som används för att ansluta till Databricks för att köra uttalandet. Till exempel: Databricks SQL Driver for Go, Databricks ODBC Driver, Databricks JDBC Driver. | Databricks JDBC Driver |
cache_origin_statement_id |
string | För frågeresultat som hämtats från cachen innehåller det här fältet instruktions-ID för frågan som ursprungligen infogade resultatet i cacheminnet. Om frågeresultatet inte hämtas från cacheminnet innehåller det här fältet frågans eget instruktions-ID. | 01f034de-5e17-162d-a176-1f319b12707b |
total_duration_ms |
bigint | Total körningstid för -instruktionen i millisekunder (exklusive resultathämtningstid). | 1 |
waiting_for_compute_duration_ms |
bigint | Tid som går åt till att vänta på att beräkningsresurser ska etableras, uttryckt i millisekunder. | 1 |
waiting_at_capacity_duration_ms |
bigint | Tid i kö för tillgänglig beräkningskapacitet i millisekunder. | 1 |
execution_duration_ms |
bigint | Tid som ägnas åt att köra -instruktionen i millisekunder. | 1 |
compilation_duration_ms |
bigint | Tid som används för att läsa in metadata och optimera uttrycket i millisekunder. | 1 |
total_task_duration_ms |
bigint | Summan av alla varaktigheter för aktiviteter i millisekunder. Denna tid representerar den sammanlagda tiden det tog att köra sökfrågan över alla kärnor i alla noder. Det kan vara betydligt längre än varaktigheten för väggklockan om flera uppgifter körs parallellt. Den kan vara kortare än väggklockans varaktighet om aktiviteter väntar på tillgängliga noder. | 1 |
result_fetch_duration_ms |
bigint | Tiden i millisekunder som används för att hämta instruktionsresultaten efter att körningen har slutförts. | 1 |
start_time |
timestamp | Tiden då Databricks tog emot begäran. Tidszonsinformation registreras i slutet av värdet med +00:00 som representerar UTC. |
2022-12-05T00:00:00.000+0000 |
end_time |
timestamp | Den tid då instruktionens körning avslutades, exklusive resultathämtningstid. Tidszonsinformation registreras i slutet av värdet med +00:00 som representerar UTC. |
2022-12-05T00:00:00.000+00:00 |
update_time |
timestamp | Tiden då uttalandet senast tog emot en förloppsuppdatering. Tidszonsinformation registreras i slutet av värdet med +00:00 som representerar UTC. |
2022-12-05T00:00:00.000+00:00 |
read_partitions |
bigint | Antalet partitioner som lästs efter beskärning. | 1 |
pruned_files |
bigint | Antalet beskärde filer. | 1 |
read_files |
bigint | Antalet filer som lästs efter beskärning. | 1 |
read_rows |
bigint | Totalt antal rader som lästs av -instruktionen. | 1 |
produced_rows |
bigint | Det totala antalet rader som returneras av instruktionen. | 1 |
read_bytes |
bigint | Total storlek på data som lästs av påståendet i byte. | 1 |
read_io_cache_percent |
int | Procentandelen byte av beständiga data som lästs från I/O-cachen. | 50 |
from_result_cache |
boolean |
TRUE anger att instruktionsresultatet hämtades från cacheminnet. |
TRUE |
spilled_local_bytes |
bigint | Storleken på data, i bytes, som skrivs tillfälligt till disk när instruktionen körs. | 1 |
written_bytes |
bigint | Storleken i byte av beständiga data som skrivits till molnobjektlagring. | 1 |
written_rows |
bigint | Antalet rader med beständiga data som skrivits till molnobjektlagring. | 1 |
written_files |
bigint | Antal filer med beständiga data som skrivits till molnobjektlagring. | 1 |
shuffle_read_bytes |
bigint | Den totala mängden data i byte som skickas via nätverket. | 1 |
query_source |
struct | En struktur som innehåller nyckel/värde-par som representerar Databricks-entiteter som var inblandade i körningen av det här kommandot, till exempel jobb, anteckningsböcker eller dashboards. Det här fältet registrerar endast Databricks-entiteter. | {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 | En struct som innehåller namngivna och positionsparametrar som används i parametriserade frågor. Namngivna parametrar representeras som nyckel/värde-par som mappar parameternamn till värden. Positionsparametrar representeras som en lista där indexet anger parameterpositionen. Endast en typ (namngiven eller positionell) kan finnas i taget. | {named_parameters: { "param-1": 1, "param-2": "hello"},pos_parameters: null,is_truncated: false} |
executed_as |
string | Namnet på den användare eller tjänsthuvudprincip vars behörighet användes för att köra instruktionen. | example@databricks.com |
executed_as_user_id |
string | ID av användaren eller tjänsthuvudpersonen vars behörighet användes för att köra uttrycket. | 2967555311742259 |
query_tags |
map<string, string> |
Anpassade nyckelvärdestaggar som tillämpas på frågan för gruppering, filtrering och kostnadsattribution. Taggar kan anges med hjälp av sessionskonfigurationsparametrar eller SQL-instruktionen SET QUERY_TAGS . Nyckeltaggar har ett null värde. Den här kolumnen fylls bara i för frågor som körs på SQL-lager. Se Frågetaggar. |
{"team": "engineering","cost_center": "701","env": "prod"} |
Åtkomst till maskerad satstext
SQL-uttalanden kan innehålla känslig information såsom kundnamn, e-postadresser eller annan personligt identifierbar information (PII). Fältet statement_text returnerar <REDACTED> som standard. Kontoadministratörer och medlemmar i databricks_pii_access gruppen kan läsa hela frågetexten.
För att skapa gruppen och hantera dess medlemskap och behörigheter, se Skapa och hantera databricks_pii_access gruppen.
Felsök överlappande kolumnmasker
Om du redan har applicerat en kolumnmask på statement_text, till exempel med en attributbaserad åtkomstkontrollpolicy (ABAC), kan frågor mot system.query.history misslyckas med COLUMN_MASKS_FEATURE_NOT_SUPPORTED.MULTIPLE_MASKS. Endast en kolumnmask kan tillämpas på en kolumn för en given användare.
För att lösa konflikten måste du vara metastore-administratör eller ha en MANAGE på bordet. Använd regler för flera filter och masker för att identifiera överlappande policyer, och begränsa eller ta sedan bort din mask på statement_text.
Läsa krypterade fält
Important
Den här funktionen finns som allmänt tillgänglig förhandsversion.
När arbetsytor använder kundhanterade nycklar för hanterade tjänster krypteras fälten statement_text och error_message i systemtabellen som standard. Det beror på att systemtabeller lagrar data från och kan nås av alla arbetsytor i regionen. Kontoadministratörer måste lägga till en nyckelkonfiguration i system själva katalogen för att dekryptera och visa krypterade systemtabellfält. Du måste ha MANAGE behörighet i system katalogen för att utföra den här åtgärden.
När frågehistoriktabellen använder kundhanterade nycklar gäller inte den typiska posttillgängligheten i Record-tillgänglighet .
Varning
Om du lägger till en nyckelkonfiguration i system katalogen tar du bort alla Unity-kataloger som du tidigare har tillämpat på system.query schemat och system.query.history tabellen och återställer dem till standardbidragen. Eftersom bidragen är metaarkivnivå påverkar detta alla arbetsytor som är kopplade till metaarkivet, inklusive arbetsytor där du inte körde kommandot. När du har aktiverat kundhanterade nycklar ska du använda eventuella anpassade bidrag på system.query och system.query.history.
Du kan antingen skapa en ny nyckel eller återanvända en befintlig. Kör följande kommando med hjälp av det fullständiga nyckel-ID:t:
curl -v -X PATCH https://my-workspace-url/api/2.1/unity-catalog/catalogs/system -H 'Authorization: Bearer <pat token>' --data '{
"managed_encryption_settings": {
"azure_key_vault_key_id": "https://my-key-vault.vault.azure.net/keys/my-key-name/my-key-version",
"azure_encryption_settings": {
"azure_tenant_id": "my-tenant-id"
}
}
}'
Tillåt upp till 24 timmar för system.query.history att börja visa de krypterade fälten.
Anmärkning
Katalogen system är olika för varje metaarkiv, så den kundhanterade nyckeln måste konfigureras separat för varje metaarkiv. Metaarkiv i samma region kan dock konfigureras för att använda samma nyckel.
Visa frågeprofilen för en post
Om du vill navigera till en frågas frågeprofil baserat på en post i frågehistoriktabellen gör du följande:
- Identifiera intresseposten och kopiera sedan postens
statement_id. - Hänvisa till dokumentets
workspace_idför att försäkra dig om att du är inloggad på samma arbetsyta som dokumentet. - Klicka på
Frågehistorik i arbetsytans sidofält.
- I fältet Uttalande-ID klistrar du in
statement_idi posten. - Klicka på namnet på en fråga. En översikt över frågemått visas.
- Klicka på Se frågeprofil.
Förstå query_source kolumn
Kolumnen query_source innehåller en uppsättning unika identifierare för de Azure Databricks-entiteter som ingår i utförandet av instruktionen.
query_source Om kolumnen innehåller flera ID:er innebär det att instruktionskörningen utlöstes av flera entiteter. Ett jobbresultat kan till exempel utlösa en avisering som anropar en SQL-fråga. I det här exemplet fylls alla tre ID:na i i query_source. Värdena i den här kolumnen sorteras inte efter körningsordning.
Möjliga frågekällor är:
- alert_id: Instruktion som utlöses från en avisering
- sql_query_id: Instruktion som körs inifrån den här SQL-redigeringssessionen
- dashboard_id: Instruktionen körs från en instrumentpanel
- genie_space_id: Instruktion som körs från en Genie-agent
- notebook_id: Instruktion som körs från en notebook
- job_info.job_id: Uttalande körs inom ett jobb
- job_info.job_run_id: Instruktionen körs från en jobbkörning
- job_info.job_task_run_id: Instruktionen körs inom en jobbaktivitetskörning
Giltiga kombinationer av query_source
Följande exempel visar hur query_source kolumnen fylls i beroende på hur frågan körs:
Frågor som utförs under en jobbprocess innehåller en ifylld
job_infostruct.{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}Förfrågningar från aviseringar inkluderar en
sql_query_idochalert_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}Förfrågningar från instrumentpaneler inkluderar en
dashboard_id, men ingenjob_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}