File ovunque: CSV che atterrano in bucket S3, export che arrivano via SFTP da fornitori terzi. Il file resta uno dei modi più diffusi per spostare dati tra sistemi e uno dei più scomodi da ingerire in modo affidabile, perché non porta con sé uno schema dichiarato né i tipi delle colonne. Questo post di Fivetran — è materiale del vendor, scritto da un suo sales engineer, e va letto con questo filtro — elenca cinque cose che i suoi file connector fanno oltre al semplice spostamento dei file.
Le cinque capacità
Schema inference. Nessuna definizione manuale: Fivetran legge il file, deduce lo schema dalla riga di header e dal contenuto, e crea la tabella di destinazione al primo sync. L’idea è che un analista possa configurare il connettore da solo, senza aprire un ticket all’engineering.
Colonne di metadata. A ogni riga vengono aggiunte colonne di sistema: timestamp del sync, nome e path del file di origine, un identificatore di riga Fivetran e un flag di cancellazione. Servono a problemi concreti a valle: il timestamp abilita trasformazioni incrementali (si processano solo le righe nuove), il path dà lineage e audit, l’id fa da chiave sintetica quando manca una primary key naturale, il flag gestisce i soft-delete.
Primary key definite dall’utente. Lo stesso record ricompare in export ripetuti. Definendo una primary key su una o più colonne sorgente, Fivetran fa upsert se la chiave esiste già, insert altrimenti — evitando i duplicati che corrompono ogni aggregazione. La scelta della chiave resta domain-specific.
Type detection automatica. Il sistema analizza il contenuto su un campione di righe e inferisce il tipo più adatto: numerici come numeri, date come timestamp, booleani riconosciuti nelle varie forme (true/false, yes/no, 1/0). Il campionamento su più righe protegge dal caso in cui le prime righe sembrino di un tipo diverso dal resto.
Schema evolution. Quando i file cambiano — nuove colonne, un campo che passa da integer a string, valori null che compaiono — Fivetran aggiunge le colonne nuove, applica il type widening in modo sicuro (integer verso float) e preserva i dati storici come NULL invece di eliminarli. La filosofia dichiarata è conservativa: allargare i tipi e trattenere i dati, non scartarli.
Come leggerlo
Nessuno di questi punti è esclusivo di Fivetran: schema inference, type detection ed evolution sono capacità che molti tool ELT rivendicano. Il post è utile più come checklist di cosa aspettarsi da un file connector serio che come confronto oggettivo. Se stai valutando build-vs-buy per pipeline su file, sono esattamente le voci da testare sul tuo dato reale.
In sintesi
- Cinque capacità: schema inference, metadata, primary key utente, type detection, schema evolution.
- Contenuto vendor: buono come checklist, non come benchmark comparativo.
- Il vero test è sul tuo dato: header irregolari, tipi ambigui, colonne che cambiano nel tempo.
Fonte: 5 things you didn’t know Fivetran does with your files
Hai qualcosa da aggiungere? Unisciti alla discussione.