Salta al contenuto

Blog · 28 agosto 2026

Quarantena, non crash: che cosa deve fare una pipeline con le righe errate

Un caricamento che si blocca su un solo record malformato non è rigoroso, è fragile. Un caricamento che lo accetta in silenzio è peggio. La risposta utile è una terza.

3 min di lettura

Nei caricamenti di dati si presentano di continuo due modalità di errore, e sono opposte.

La prima è la pipeline che si ferma del tutto alla prima riga errata. Un record ha una data malformata, il job va in errore e 400.000 record validi non arrivano a destinazione. Qualcuno viene chiamato, corregge una cella e rilancia tutto.

La seconda è la pipeline che accetta tutto. Non fallisce mai niente, e sembra fantastico finché qualcuno non nota che il dato del fatturato è sbagliato e nessuno sa dire da quando.

La terza opzione

Le righe errate vanno instradate, non devono essere fatali. Valida ogni record rispetto alle regole che contano davvero, lascia passare quelli buoni e scrivi quelli che falliscono in una tabella di quarantena, insieme al motivo dell'errore e al batch da cui provengono.

Questo cambia la forma del problema. Il caricamento si completa. I dati buoni sono disponibili. I dati errati non vengono scartati in silenzio né accettati in silenzio: stanno in un posto preciso, con una spiegazione, in attesa di essere esaminati. E soprattutto, il numero di righe in quarantena diventa un valore che si può monitorare.

Una tabella di quarantena sempre vuota ti dice che le regole sono troppo larghe. Una che si sta riempiendo ti dice esattamente dove guardare.

Quali regole vale la pena imporre

Non tutti i controlli meritano di deviare una riga. Quelli che in genere lo meritano:

  • Campi obbligatori da cui dipendono i join a valle. Un id cliente mancante non è un problema estetico.
  • Tipi che devono essere interpretabili. Una data che non è una data fallirà più tardi, più lontano, in modo più confuso.
  • Controlli referenziali sulle dimensioni che gestisci tu. Un ordine per un prodotto che non esiste è un segnale reale.
  • Intervalli fisicamente impossibili. Quantità negative, timestamp nel futuro, percentuali sopra il cento.

Controlli che funzionano meglio come avvisi che come deviazioni: valori insoliti ma leciti, campi facoltativi, tutto ciò per cui l'azienda ha casi davvero disordinati ma validi. Deviarli abitua le persone a ignorare la quarantena, e così si perde lo scopo.

Lo schema drift è una categoria a sé

Una colonna che sparisce, cambia tipo o arriva con un nome nuovo non è una riga errata. È un contratto rotto, e deve fermare il caricamento invece di mettere in quarantena il 100% dei record uno alla volta.

La distinzione conta sul piano operativo. Gli errori a livello di riga sono un problema dei dati e spesso si risolvono da soli. Lo schema drift è un cambiamento alla sorgente che qualcuno deve conoscere oggi, perché ogni ipotesi a valle è appena diventata sospetta.

Com'è quando è fatto bene

Capisci se una pipeline lo fa bene con una sola domanda: quando qualcosa va storto, il sistema ti dice che cosa, quanto e da quando? Se la risposta è uno stack trace, il progetto non è finito. Se la risposta è un numero di righe, un motivo e un id di batch, lo è.

  • Qualità dei dati
  • Pipeline
  • Affidabilità

← Tutti gli articoli

Lo vorresti per la tua attività?

Dicci cosa richiede troppo tempo o cosa vorresti migliorare.