Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come monitorare ed eseguire query sui dati di aggiornamento relativi a una vista materializzata in Databricks SQL.
Visualizzare i dettagli di una singola vista materializzata
È possibile visualizzare i dettagli di una singola vista materializzata usando Esplora cataloghi o a livello di codice con l'operazione DESCRIBE EXTENDED . È anche possibile eseguire una query nel registro eventi per informazioni dettagliate sulla cronologia degli aggiornamenti di una vista materializzata.
Visualizzare i dettagli in Esplora cataloghi
È possibile accedere alle informazioni sulla visualizzazione materializzata visualizzandola in Esplora cataloghi. In Esplora cataloghi è possibile visualizzare lo stato dell'ultimo aggiornamento e le pianificazioni di aggiornamento create in SQL. Per informazioni dettagliate sulle pianificazioni create in SQL, vedere CREATE MATERIALIZED VIEW.
L'Esploratore del Catalogo mostra i dettagli per ogni visualizzazione materializzata in un pannello a destra, tra cui:
- Stato dell'aggiornamento corrente e ora dell'ultima esecuzione. Per visualizzare altri dettagli sull'aggiornamento, inclusa la durata dell'esecuzione, eventuali errori dettagliati, nonché il tipo di aggiornamento (incluso se la visualizzazione materializzata è stata aggiornata completamente o incrementalmente e perché), fare clic su Visualizza dettagli aggiornamento.
- Aggiorna pianificazione. Se la vista materializzata ha una pianificazione impostata tramite SQL, viene visualizzata la pianificazione. Per aggiornare la pianificazione, usare ALTER MATERIALIZED VIEW.
- Tag. Per aggiungere tag personalizzati, fare clic su Aggiungi tag. I tag non vengono usati automaticamente per attribuire i costi, ma è possibile creare manualmente una query per connettere tag personalizzati ai costi. Per ulteriori dettagli, vedere Attribuire i costi al magazzino SQL con tag personalizzati.
Esistono proprietà della vista materializzata che non sono disponibili in Esplora cataloghi. Per queste proprietà o per ottenere le informazioni a livello di codice, è possibile usare il DESCRIBE EXTENDED comando .
Visualizzare i dettagli con DESCRIBE EXTENDED
È possibile visualizzare i dettagli di una vista materializzata a livello di codice usando il DESCRIBE EXTENDED comando . Sono inclusi dettagli oltre a quanto ottenuto da Esplora cataloghi. Includono:
Stato dell'aggiornamento completato più recente.
Pianificazione dell'aggiornamento.
Colonne della vista materializzata.
Tipo di aggiornamento della vista materializzata (non disponibile in Esplora cataloghi).
Dimensione dei dati per la vista materializzata, in byte totali (non disponibile in Catalog Explorer).
Posizione di archiviazione della vista materializzata (non disponibile in Esplora cataloghi).
Alcune informazioni sono incluse solo nel risultato quando sono abilitate:
- Colonne di clustering, se abilitate.
- Indica se i vettori di eliminazione sono abilitati (visualizzati solo quando
true). - Indica se il rilevamento delle righe è abilitato (visualizzato solo quando
true).
-- As table:
DESCRIBE TABLE EXTENDED sales;
-- As a single JSON object:
DESCRIBE TABLE EXTENDED sales AS JSON;
Esecuzione di query sul registro eventi a livello di codice
Per ottenere informazioni dettagliate sulla cronologia degli aggiornamenti per una vista materializzata o sui dettagli durante l'aggiornamento, è possibile eseguire una query sul registro eventi a livello di codice.
In qualità di proprietario della pipeline, è possibile creare una vista per consentire ad altri utenti di eseguire query sul registro eventi per la pipeline. La query seguente crea una vista che altri utenti possono usare per eseguire query nel registro eventi. Questa query usa la funzione valore TABLE per eseguire una query sulla corretta tabella del registro eventi.
CREATE VIEW my_event_log_view AS
SELECT *
FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>));
Per eseguire una query sulla visualizzazione log eventi, usare una query simile alla seguente.
SELECT *
FROM my_event_log_view
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Per eseguire una query sul registro eventi direttamente come proprietario della pipeline, non è necessario creare una vista. È possibile usare la TABLE funzione value ed eseguire query direttamente sui dati, ad esempio la query di esempio seguente.
SELECT *
FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>))
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Per un elenco completo delle query di esempio che usano il log eventi, vedere Esempi di query di base.
Monitorare le esecuzioni delle viste materializzate
È possibile monitorare le esecuzioni della pipeline nell'area di lavoro, usando la pagina Processi e pipeline, la pagina Cronologia query o tramite codice eseguendo una query sul registro eventi.
Visualizzare tutte le esecuzioni di visualizzazione materializzate nell'interfaccia utente
Se si utilizza la pagina
- Fare clic
sull'icona Flussi di lavoro. Pulsante Jobs & Pipelines a sinistra dell'area di lavoro. - Fare clic sul toggle Pipelines per filtrare la vista solo sulle pipeline.
- Fare clic sul pulsante Tipo di pipeline e selezionare MV/ST per filtrare solo le pipeline create da Databricks SQL.
- Fare clic sul filtro Accessibile da me per visualizzare tutte le pipeline a cui si ha accesso.
Sarà possibile visualizzare tutte le viste materializzate e le tabelle di streaming create all'interno della tua organizzazione, compresa una visione riepilogativa degli stati delle esecuzioni recenti. Facendo clic sul nome di una pipeline si apre la pagina dei dettagli del monitoraggio della pipeline per ottenere altre informazioni. Per altre informazioni sulla pagina dei dettagli di monitoraggio della pipeline, vedere Risolvere i problemi relativi a un aggiornamento non riuscito.
Visualizzare le esecuzioni usando la cronologia delle query
Se si ha familiarità con la scheda Cronologia query , è anche possibile usarla per visualizzare tutte le esecuzioni precedenti di tutte le query in cui si ha almeno CAN VIEW accesso al warehouse SQL in esecuzione. È possibile usare la pagina cronologia query per accedere ai dettagli delle query e ai profili di query che consentono di identificare query con prestazioni scarse e colli di bottiglia nella pipeline usata per eseguire gli aggiornamenti della tabella di streaming. Per una panoramica del tipo di informazioni disponibili per le cronologie delle query e i profili di query, vedere Cronologia query e Profilo di query.
Importante
Questa funzionalità è in Anteprima Pubblica. Gli amministratori dell'area di lavoro possono controllare l'accesso a questa funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.
Tutte le istruzioni correlate alle viste materializzate vengono visualizzate nella cronologia delle query. È possibile utilizzare il filtro a discesa Statement per selezionare qualsiasi comando ed esaminare le query correlate. Tutte le CREATE istruzioni sono seguite da un'istruzione REFRESH che viene eseguita in modo asincrono in una pipeline. Le REFRESH istruzioni in genere includono piani di query dettagliati che forniscono informazioni sull'ottimizzazione delle prestazioni.
Per accedere alle istruzioni REFRESH nella cronologia delle query dell'interfaccia utente, seguire questi passaggi:
- Fare clic sull'icona
nella barra laterale sinistra Cronologia delle query.
- Selezionare la casella di controllo REFRESH dal filtro a discesa Dichiarazione.
- Fare clic sul nome dell'istruzione query per visualizzare i dettagli di riepilogo, ad esempio la durata della query e le metriche aggregate.
- Fare clic su Visualizza profilo di query per aprire il profilo di query. Per informazioni dettagliate sull'esplorazione del profilo di query, vedere Profilo di query.
- Opzionalmente, usare i collegamenti nella sezione Origine delle query per aprire la query o la pipeline correlata.
Vedi CREATE MATERIALIZED VIEW.
Risolvere i problemi relativi a un aggiornamento non riuscito
È possibile trovare gli aggiornamenti non riusciti per le viste materializzate (o le tabelle di streaming) esaminando l'elenco Job e Pipeline. Per risolvere i problemi relativi a un aggiornamento non riuscito, usare la pagina dei dettagli del monitoraggio della pipeline o il registro eventi.
Per risolvere i problemi relativi a un aggiornamento completo quando si ritiene che sia incrementale, verificare prima di tutto che sia abilitato il rilevamento delle righe per tutte le tabelle Delta di origine. Per altri dettagli sull'aggiornamento incrementale, vedere Supporto per l'aggiornamento incrementale della vista materializzata.
È possibile ottenere altri dettagli dalla pagina di monitoraggio della pipeline o eseguendo query sul registro eventi a livello di codice.
Uso della pagina di monitoraggio della pipeline
Per ottenere altri dettagli su una vista materializzata (o tabella di streaming) che non è riuscita, è possibile usare la pagina di monitoraggio della pipeline per eseguire il debug dei problemi. Ogni vista materializzata ha una pipeline a supporto. La pagina di monitoraggio della pipeline include informazioni, ad esempio:
- Stato dell'ultima esecuzione e della cronologia delle esecuzioni.
- Durata dell'ultima esecuzione.
- Indica se la vista materializzata viene aggiornata completamente o in modo incrementale. Per altri dettagli sull'aggiornamento incrementale della vista materializzata, vedere Supporto per l'aggiornamento incrementale della vista materializzata.
- Registro eventi per il debug più dettagliato. Nel caso in cui la visualizzazione materializzata non sia riuscita ad aggiornare o avere altri problemi, fare clic sul pannello dei problemi per visualizzare i log in modo più dettagliato.
Per risolvere i problemi relativi alla visualizzazione materializzata:
- Nell'area di lavoro, fare clic sull'icona Flussi di lavoro e sul pulsante Processi e Pipeline nella barra di navigazione a sinistra.
- Cliccare il nome della tua pipeline nell'elenco.
- Se l'aggiornamento non è stato eseguito, l'interfaccia utente visualizza un errore (o un elenco di errori) nel pannello inferiore.
- Fare clic sul pulsante Per visualizzare i log o fare clic sul pannello dei problemi per visualizzare gli errori in modo più dettagliato.
- Verrà aperta l'interfaccia utente del registro eventi. Ogni errore include un messaggio di alto livello e un riepilogo, nonché una scheda JSON con altri dettagli. Per risolvere un problema con Databricks Assistant, fare clic su Diagnostica errore.
Per altri dettagli sulla pagina di monitoraggio della pipeline, vedere qui.
Eseguire una query sulla cronologia degli aggiornamenti per una vista materializzata
Il registro eventi può essere utile per configurare i dashboard per monitorare lo stato o la durata dell'aggiornamento nell'area di lavoro oppure se si preferisce il monitoraggio a livello di codice tramite l'interfaccia utente. Le viste materializzate create con Databricks SQL non supportano il salvataggio del log eventi in un metastore, quindi solo il proprietario della vista materializzata può eseguire direttamente query sul registro eventi.
Per visualizzare lo stato delle REFRESH operazioni in una vista materializzata, inclusi gli aggiornamenti correnti e precedenti, eseguire una query sul registro eventi della pipeline:
SELECT *
FROM event_log(TABLE(<fully-qualified-table-name>))
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Sostituire <fully-qualified-table-name> con il nome qualificato completo della vista materializzata, incluso il catalogo e lo schema. Se non si è il proprietario della pipeline, potrebbe essere necessario creare prima una vista per eseguire una query sul registro eventi. Vedere Esecuzione di query sul registro eventi a livello di codice.
Eseguire una query sul tipo di refresh effettuato per una vista materializzata
Alcune query possono essere aggiornate in modo incrementale. Se non è possibile eseguire un aggiornamento incrementale, viene eseguito un aggiornamento completo.
Per visualizzare il tipo di aggiornamento per una vista materializzata, eseguire una query sul registro eventi:
SELECT timestamp, message
FROM event_log(TABLE(my_catalog.my_schema.sales))
WHERE event_type = 'planning_information'
ORDER BY timestamp desc;
Output di esempio per questo comando:
-
- Marca temporale
- message
-
2025-03-21T22:23:16.497+00:00Flow 'sales' has been planned in :re[LDP] to be executed as ROW_BASED.
Attribuire i costi al magazzino SQL con tag personalizzati
I tag non vengono aggiunti automaticamente ai record di fatturazione, ma è possibile aggiungerli manualmente alle informazioni di fatturazione in una query.
Dopo aver aggiunto tag a ogni vista materializzata (o tabella di streaming) con Catalog Explorer, è possibile monitorare i costi delle viste materializzate unendo le tabelle di sistema table_tags e billing. Si tratta di una query di esempio per recuperare i record di fatturazione per tutte le viste materializzate e le tabelle di streaming create con Databricks SQL e aggiungere tag a livello di tabella:
SELECT
u.*,
tag_info.tags
FROM
system.billing.usage u
LEFT JOIN (
SELECT
t.catalog_name,
t.schema_name,
t.table_name,
collect_list(named_struct('tag_name', t.tag_name, 'tag_value', t.tag_value)) AS tags
FROM
main.information_schema.table_tags t
GROUP BY
t.catalog_name,
t.schema_name,
t.table_name
) tag_info
ON tag_info.catalog_name = u.usage_metadata.uc_table_catalog
AND tag_info.schema_name = u.usage_metadata.uc_table_schema
AND tag_info.table_name = u.usage_metadata.uc_table_name
WHERE usage_metadata.uc_table_name is not null;
Puoi usare la stessa idea per collegare i tag delle colonne della column_tags tabella.