Viaggio nel tempo per tavolo Iceberg
I dati relativi al tempo sono fondamentali per la maggior parte dei database dell'applicazione. Con la funzione di viaggio temporale watsonx.data disponibile a partire dalla versione 11.2.3, puoi recuperare e analizzare i dati cronologici senza dover sviluppare ulteriore logica dell'applicazione come le tabelle cronologiche. Questo potente strumento è utile quando si desidera tenere traccia della cronologia delle modifiche dei dati o ricostruire i dati.
Utilizzando il viaggio temporale watsonx.data, puoi accedere ai dati cronologici (dati che sono stati modificati) in punti temporali passati.
Query dei dati per un tempo specifico con AS OF
SELECT product_id, product_name FROM product for SYSTEM_TIME AS OF "2023-10-23 10:00:00"
Verranno applicati i seguenti vincoli:
- Solo la clausola secondaria AS OF/BEFORE di system_time sarà supportata per la tabella watsonx.data di formato di tipo Iceberg.
- A partire da '
<timestamp value>può essere solo di tipo timestamp o promuovibile a valore timestamp. - Come '
<timestamp value>può essere un'espressione, ma alla fine deve essere valutata come un valore costante. - A partire da '
<timetamp value>non può fare riferimento ad attributi o subquery. - A partire da '
<timestamp value>non può essere precedente all'ora associata alla prima istantanea id disponibile della tabella.
Query dei dati per un tempo specifico con BEFORE
SELECT product_id, product_name, product_price FROM product FOR SYSTEM_TIME BEFORE '2023-12-01 12:00:00'
La clausola secondaria BEFORE prevede un valore data / ora e restituisce lo stato della tabella in termini di dati prima della data / ora fornita.
Query dei dati per una specifica istantanea con SYSTEM_VERSION
SELECT product_id, product_name, product_price FROM product FOR SYSTEM_VERSION AS OF 1887396386633333444
Con la clausola secondaria SYSTEM_VERSION AS OF, è possibile fornire l'ID istantanea per richiedere lo stato della tabella in base all'ID istantanea fornito. Questa query di viaggio temporale che utilizza la clausola SYSTEM_VERSION è consentita solo sulle tabelle watsonx.data in formato Iceberg.
MOSTRA SCATTI PER '<table-name>
SHOW SNAPSHOTS FOR PRODUCT:
SNAPSHOT_ID | SNAPSHOT_TIMESTAMP
---------------------+-------------------------
9200563116884920042 | 2023-11-22 14:07:11.568
772896300100219109 | 2023-11-22 14:07:23.075
6627427340973491406 | 2023-11-22 14:07:30.401
5580047607422801480 | 2023-11-22 14:07:36.699
9177117635666586877 | 2023-12-01 12:07:53.511
(5 rows)
Questa istruzione di visualizzazione delle istantanee elencherà tutti gli snaphost associati a una determinata tabella iceberg. Queste informazioni possono essere utili per eseguire query di viaggio nel tempo utilizzando la data / ora AS OF o l'ID istantanea AS OF. Inoltre, questo comando show è consentito solo sulle tabelle watsonx.data in formato Iceberg.
Riferimenti
Vedere Time travel and historical data.