Esaminare i metadati della tabella Delta

Usare DESCRIBE DETAIL e DESCRIBE HISTORY quando è necessario esaminare una tabella Delta senza modificarla. Questi comandi consentono di comprendere il modo in cui una tabella viene archiviata, le modifiche apportate nel tempo e la versione della tabella da analizzare o ripristinare.

Entrambi i comandi sono comandi di ispezione di sola lettura. Non modificano i dati della tabella, i metadati o la cronologia delle transazioni.

Usare DESCRIBE DETAIL

DESCRIBE DETAIL restituisce metadati a livello di tabella per una tabella Delta. Usarlo quando si vuole uno snapshot rapido della definizione della tabella e dei dettagli di archiviazione.

I metadati tipici includono:

  • Formato della tabella
  • Identificatore e nome della tabella
  • Posizione di OneLake
  • Ora di creazione e ora dell'ultima modifica
  • Colonne di partizione
  • Numero di file e dimensioni totali in byte
  • Proprietà delle tabelle
  • Versioni minime del protocollo di lettura e scrittura

Eseguire DESCRIBE DETAIL

Esegui DESCRIBE DETAIL su una tabella Delta usando Spark SQL o l'API Delta Lake in PySpark o Scala.

DESCRIBE DETAIL schema_name.table_name

Comprendere l'output di DESCRIBE DETAIL

Lo schema esatto può variare in base alle funzionalità di runtime e di tabella, ma in genere vengono visualizzate le colonne seguenti.

Column Significato
format Formato della tabella. Per le tabelle Delta in Fabric, questo valore è delta.
id Identificatore univoco per la tabella Delta.
name Nome della tabella registrata.
location Percorso di archiviazione per la tabella in OneLake.
createdAt Timestamp di creazione della tabella.
lastModified Timestamp dell'ultimo aggiornamento dei metadati o dei file della tabella.
partitionColumns Elenco di colonne di partizione definite per la tabella.
numFiles Numero corrente di file di dati rilevati dalla tabella.
sizeInBytes Dimensioni totali dei dati della tabella rilevati in byte.
properties Proprietà della tabella archiviate con la definizione di tabella Delta.
minReaderVersion Versione minima del lettore di protocolli Delta necessaria per leggere la tabella.
minWriterVersion Versione minima del writer del protocollo Delta necessaria per scrivere nella tabella.

Usare questi valori per verificare dove risiede una tabella, stimare il footprint di archiviazione, verificare il partizionamento e verificare se le proprietà della tabella o le versioni del protocollo sono state modificate.

Usare DESCRIBE HISTORY

DESCRIBE HISTORY restituisce la cronologia a livello di operazione per una tabella Delta. Usalo quando ti serve una traccia di controllo delle operazioni di scrittura e delle attività di manutenzione, ad esempio WRITE, MERGE, OPTIMIZE, VACUUM, DELETE o UPDATE.

Questa cronologia consente di rispondere a domande come:

  • Chi ha cambiato la tabella?
  • Che operazione è stata eseguita?
  • Quando è avvenuta la modifica?
  • Quale versione è necessario esaminare con il viaggio o il ripristino del tempo?

Eseguire DESCRIBE HISTORY

Eseguire DESCRIBE HISTORY per restituire la cronologia completa disponibile.

DESCRIBE HISTORY schema_name.table_name

Limitare l'output quando sono necessarie solo le voci più recenti.

DESCRIBE HISTORY schema_name.table_name LIMIT n

Informazioni sull'output di DESCRIBE HISTORY

La cronologia restituisce un registro di controllo delle transazioni Delta. Le colonne seguenti sono particolarmente utili.

Column Significato
version Versione della tabella Delta creata dall'operazione.
timestamp Ora in cui l'operazione è stata confermata.
operation Tipo di operazione, ad esempio WRITE, MERGEOPTIMIZE, o VACUUM.
operationParameters Parametri forniti per l'operazione.
operationMetrics Metriche acquisite per l'operazione, ad esempio file aggiunti, file rimossi, righe scritte o volumi di dati elaborati.
userName Utente o entità associata all'operazione, se disponibile.
Informazioni sul notebook Contesto correlato al notebook, ad esempio il percorso del notebook o l'ID del notebook, quando l'operazione deriva da un'esecuzione del notebook.

Usare operationParameters e operationMetrics insieme quando è necessario più del nome dell'operazione. Ad esempio, le voci OPTIMIZE e VACUUM includono spesso metriche che aiutano a capire quanti dati Fabric ha riscritto o ripulito.

Quando usare DESCRIBE HISTORY

DESCRIBE HISTORY è particolarmente utile in questi scenari:

  • Audit trail: esaminare chi ha modificato una tabella e quale operazione è stata eseguita.
  • Debug: identificare l'operazione di scrittura, unione, ottimizzazione o eliminazione che ha introdotto un problema.
  • Individuazione della versione: trova la versione della tabella da usare con il time travel o RESTORE.
  • Monitoraggio della manutenzione: controllare OPTIMIZE e VACUUM le metriche per verificare che la manutenzione sia stata eseguita e per verificare le modifiche apportate.

Dove eseguire questi comandi

Esegui questi comandi nei notebook di Fabric e nelle definizioni di processi Spark quando lavori con le tabelle Delta usando Apache Spark.

DESCRIBE DETAIL funziona anche nell'endpoint di analisi SQL per scenari di metadati di tabella di base. Usare Spark quando sono necessarie API Delta Lake complete, ad DeltaTable.forName(...).detail() esempio o DeltaTable.forName(...).history() in PySpark o Scala.

Conservazione della cronologia

La conservazione della cronologia Delta è determinata dalla proprietà della tabella delta.logRetentionDuration. Il periodo di mantenimento predefinito è di 30 giorni.

Se è necessario esaminare la cronologia precedente, verificare che le impostazioni di conservazione delle tabelle mantengano il log delle transazioni abbastanza a lungo per i requisiti operativi e di controllo.