Ottieni un'anteprima del nuovo ebook di O'Reilly per le istruzioni dettagliate necessarie per iniziare a utilizzare Delta Lake.
Controllo delle versioni dei dati per riprodurre esperimenti, eseguire il rollback e controllare i dati
Siamo entusiasti di presentare le funzionalità di time travel in Databricks Delta Lake, il motore di analisi unificato di nuova generazione basato su Apache Spark, per tutti i nostri utenti. Con questa nuova funzionalità, Delta crea automaticamente versioni dei big data archiviati nel tuo data lake e puoi accedere a qualsiasi versione precedente di tali dati. Questa gestione temporale dei dati semplifica la pipeline di dati, semplificando il controllo, il rollback dei dati in caso di scritture o eliminazioni errate accidentali e la riproduzione di esperimenti e report. La tua organizzazione può finalmente standardizzare un repository di big data pulito, centralizzato e con controllo delle versioni nel tuo spazio di archiviazione cloud per l'analisi.
Le funzionalità di time travel di Delta semplificano la creazione di pipeline di dati per i casi d'uso di cui sopra. Quando scrivi in una tabella o directory Delta, ogni operazione viene automaticamente versionata. Puoi accedere alle diverse versioni dei dati in due modi diversi:
1. Utilizzo di un timestamp
Sintassi Scala:
Puoi fornire il timestamp o la stringa di data come opzione al lettore DataFrame:
In Python:
Sintassi SQL:
Se il codice del lettore si trova in una libreria a cui non hai accesso e se stai passando parametri di input alla libreria per leggere i dati, puoi comunque tornare indietro nel tempo per una tabella passando il timestamp in formato yyyyMMddHHmmssSSS al percorso:
2. Utilizzo di un numero di versione
In Delta, ogni scrittura ha un numero di versione e puoi utilizzare il numero di versione anche per tornare indietro nel tempo.
Sintassi Scala:
Sintassi Python:
Sintassi SQL:
Puoi esaminare la cronologia delle modifiche alla tabella utilizzando il comando DESCRIBE HISTORY o tramite l'interfaccia utente.
Il time travel svolge anche un ruolo importante nel machine learning e nella data science. La riproducibilità dei modelli e degli esperimenti è una considerazione chiave per i data scientist, perché spesso creano centinaia di modelli prima di metterne uno in produzione e, in questo processo dispendioso in termini di tempo, vorrebbero tornare ai modelli precedenti. Tuttavia, poiché la gestione dei dati è spesso separata dagli strumenti di data science, questo è davvero difficile da realizzare.
Databricks risolve questo problema di riproducibilità integrando le funzionalità di time-travel di Delta con MLflow, una piattaforma open source per il ciclo di vita del machine learning. Per un training di machine learning riproducibile, puoi semplicemente registrare un URL con timestamp nel percorso come parametro MLflow per tenere traccia di quale versione dei dati è stata utilizzata per ogni processo di training. Ciò ti consente di tornare alle impostazioni e ai set di dati precedenti per riprodurre i modelli precedenti. Non è necessario coordinarsi con i team upstream sui dati né preoccuparsi di clonare i dati per diversi esperimenti. Questo è il potere di Unified Analytics, in cui la data science è strettamente legata al data engineering.
Il time travel semplifica anche l'esecuzione di rollback in caso di scritture errate. Ad esempio, se il tuo processo della pipeline GDPR aveva un bug che ha eliminato accidentalmente le informazioni dell'utente, puoi correggere facilmente la pipeline:
Puoi anche correggere aggiornamenti errati come segue:
Con le query AS OF, ora puoi bloccare lo snapshot di una tabella Delta in continuo aggiornamento per più processi downstream. Considera una situazione in cui una tabella Delta viene continuamente aggiornata, ad esempio ogni 15 secondi, e c'è un processo downstream che legge periodicamente da questa tabella Delta e aggiorna diverse destinazioni. In tali scenari, in genere si desidera una visualizzazione coerente della tabella Delta di origine in modo che tutte le tabelle di destinazione riflettano lo stesso stato. Ora puoi gestire facilmente tali scenari come segue:
Il time travel semplifica anche l'analisi delle serie temporali. Ad esempio, se vuoi scoprire quanti nuovi clienti hai aggiunto nell'ultima settimana, la tua query potrebbe essere molto semplice come questa:
Il time travel in Delta migliora enormemente la produttività degli sviluppatori. Aiuta:
Le organizzazioni possono finalmente standardizzare un repository di big data pulito, centralizzato e con controllo delle versioni nel proprio spazio di archiviazione cloud per l'analisi. Siamo entusiasti di vedere cosa sarai in grado di realizzare con questa nuova funzionalità.
La funzionalità è disponibile come anteprima pubblica per tutti gli utenti. Scopri di più sulla funzionalità. Per vederla in azione, registrati per una prova gratuita di Databricks.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
