Maestria nel backfilling elevare l’expertise dell’ingegneria dei dati

La maestria nel backfilling che eleva l'expertise dell'ingegneria dei dati

DATA ENGINEERING

Una guida essenziale per gli ingegneri dei dati che si imbattono nel labirinto del backfilling

Foto di Towfiqu barbhuiya su Unsplash

Cos’è il backfilling?

Immagina di iniziare un nuovo flusso dati e ottenere informazioni da una fonte che non hai mai analizzato prima (ad esempio, estrarre informazioni da un’API o da una tabella hive esistente). Ora, sei determinato a far sembrare che hai raccolto questi dati molto tempo fa. Questo è solo un esempio di quella che chiamiamo backfilling dei dati nell’ambito dell’ingegneria dei dati.

Ma non si tratta solo di avviare un nuovo flusso dati o una nuova tabella. Potresti avere una tabella che raccoglie dati da tempo e improvvisamente hai bisogno di modificare i dati (ad esempio, a causa di una nuova definizione di metrica) o di aggiungere altri dati da una nuova fonte dati. Oppure potrebbe esserci una lacuna scomoda nei tuoi dati e desideri semplicemente colmarla. Tutte queste situazioni sono esempi di backfilling dei dati. Il filo comune è tornare “indietro” nel tempo e “riempire” la tua tabella con alcuni dati storici.

La seguente figura (Figura 1) mostra uno scenario di backfilling semplice. In questo caso, un lavoro giornaliero recupera dati da due fonti upstream (una per la piattaforma A e un’altra per la piattaforma B). Il set di dati è strutturato in modo che la prima partizione sia ‘ds’ e la seconda partizione (o sottopartizioni) rappresenti le piattaforme. Purtroppo, mancano dati per il periodo dal 2023-10-03 al 2023-10-05 a causa di determinati problemi. Per affrontare questa lacuna, è stata avviata un’operazione di backfilling (il lavoro di backfilling è iniziato il 2023-10-08).

Figura 1) Uno scenario di backfilling semplice

Backfilling e Restating

Una breve premessa prima di procedere oltre: nell’ambito dell’ingegneria dei dati, ci troviamo normalmente di fronte a due scenari: “backfilling” di una tabella o “restating” di una tabella. Questi processi, pur condividendo alcune somiglianze, presentano alcune sottili differenze. Il backfilling, come pratica, riguarda il popolamento di dati mancanti o incompleti in un set di dati. La sua applicazione è comunemente rivolta all’aggiornamento dei dati storici o alla correzione di lacune. Al contrario, il restating di una tabella comporta l’effettuazione di modifiche sostanziali…