5 things you didn't know Fivetran does with your files

Files are everywhere in enterprise data. CSVs land in S3 buckets from finance systems. Exports drop onto SFTP servers from third-party vendors. The humble file remains one of the most common mechanisms by which data moves between systems — and one of the most awkward to ingest reliably. Files don't come with machine-readable schema contracts. Column types aren't declared. The same source can deliver files with slightly different structures across successive drops.
Fivetran's file connectors don't just move files from source to destination. They add a layer of intelligence that handles schema, type inference, deduplication, and evolution concerns automatically, turning what is usually a fragile, engineer-intensive process into something that runs without anyone watching it. Here are the 5 capabilities that make the biggest difference in practice.
[CTA_MODULE]
1. No schema definition required
In traditional file ingestion, a data engineer examines each file, maps columns to destination fields, declares data types, and configures the pipeline to handle deviations. For a single stable file format, this is manageable. For organizations dealing with dozens of file sources — each with its own quirks — it becomes a significant and ongoing burden.
Fivetran eliminates this step. It reads the file, infers the schema from the header row and content, and configures the destination table automatically. The first sync creates the table. Subsequent syncs populate it. A data analyst who needs a monthly vendor export in their warehouse can configure the connector themselves in minutes, with no engineering ticket required.
2. Added metadata columns
When Fivetran loads a file into your destination, it adds system-generated metadata columns to every row: the sync timestamp, the source file name and path, a Fivetran row identifier, and a deleted flag. These aren't incidental; they solve specific downstream processing problems that would otherwise require custom engineering.
The sync timestamp enables incremental transformation jobs that process only newly loaded rows, avoiding full table reprocessing. The source file path provides audit lineage, meaning every row traces back to the specific file it came from. The row identifier provides a stable synthetic key for files with no natural primary key. The deleted flag supports soft-delete handling for snapshot-style sources.
3. User-defined primary keys
Files are delivered repeatedly. Daily exports, regular snapshots, incremental drops — the same record appears in multiple files. Without a reliable way to identify when 2 rows represent the same real-world entity, you end up with duplicates in your destination table that corrupt every aggregate calculation.
Fivetran's file connectors let you define a primary key on the destination table by specifying one or more source columns. When a row arrives in a subsequent sync, Fivetran checks whether a row with the same key already exists. If it does, it upserts. If not, it inserts. The user-defined aspect matters: the right key is always domain-specific — a customer export uses customer_id, an order export might use a composite of order_id and line_item_id.
4. Automatic type detection
Manually declaring types for every column in every file is tedious. A field called 'value' could be a string, integer, or float. A field called 'date' could be YYYY-MM-DD, DD/MM/YYYY, or a Unix timestamp. Getting it wrong means every downstream query needs a CAST — a small annoyance that compounds across thousands of queries over months of operation.
Fivetran analyzes the content of each column across a sample of rows and infers the most appropriate type: numeric columns land as numeric types, enabling arithmetic without casting, date columns land as proper timestamp types, enabling date arithmetic, and booleans are detected whether expressed as true/false, yes/no, or 1/0. Sampling across multiple rows protects against the common pattern where the first few rows happen to look like a different type than the broader dataset.
5. Schema evolution
Files change. Vendors add new columns. Source applications upgrade and change a field from integer to string. A column that previously contained clean numeric data starts including null values. In a manually managed pipeline, each of these changes requires human intervention: detect the change, update the configuration, test, redeploy. Schema evolution in Fivetran handles all of this automatically.
New columns are added to the destination table automatically. Type widening — integer to float when a decimal value arrives — is applied safely without losing existing data. Missing columns preserve historical data as NULL rather than deleting the column. Every change is logged so teams can correlate data quality events with specific schema evolution events. The philosophy is conservative: retain data and widen types rather than drop data.
5 features, one outcome
Schema inference, metadata enrichment, user-defined primary keys, type detection, and schema evolution together reduce the engineering effort of connecting and maintaining file pipelines by an order of magnitude.
Want to learn more about what Fivetran does with your data? Read Part 2 in this series, which covers 5 more capabilities: filtering, hybrid deployment, multi-format support, unstructured data, and extensibility for non-standard formats like EDI and HL7.
[CTA_MODULE]
Articles associés
Commencer gratuitement
Rejoignez les milliers d’entreprises qui utilisent Fivetran pour centraliser et transformer leur data.






