Data pipeline

On this page 7

A data pipeline is an automated sequence of processing steps that extracts data from one or more sources, transforms or validates it, and delivers it to a destination such as a data warehouse, data lake, search index or application. In data engineering, the pipeline is the basic unit of production work: it turns raw, scattered records into datasets that analysts, models and products can trust.

A pipeline is more than a script that copies data. A production pipeline defines when it runs, what it depends on, how it recovers from failure and how its output is checked. ETL and ELT are specific pipeline patterns; the broader term covers batch jobs, streaming flows, reverse flows back into operational tools, and machine learning feature preparation.

Stages of a data pipeline

Most pipelines follow the same logical stages, even when tools differ. Each stage has a clear input, a clear output and its own failure modes, which makes it possible to test, monitor and rerun stages independently.

StageWhat it doesTypical techniques
IngestionReads data from sourcesAPI calls, database extracts, change data capture, file drops
LandingStores raw data unchangedObject storage, raw schema in a warehouse
ValidationChecks schema, completeness and rangesSchema tests, row counts, null and uniqueness checks
TransformationCleans, joins and reshapes dataSQL models, Spark jobs, deduplication
ServingPublishes data for consumersWarehouse tables, feature stores, exports to tools
ObservationTracks health and freshnessRun logs, alerts, lineage, data quality metrics
Typical pipeline stages

Keeping a raw landing layer is one of the most valuable design decisions. When a transformation bug is discovered weeks later, the team can rebuild corrected outputs from the untouched source copy instead of asking source systems to resend history.

Batch, micro-batch and streaming pipelines

The most consequential design choice is how often data moves. Latency requirements drive cost, complexity and tool selection, so they should come from a real business need rather than a preference for real time.

ModeTypical latencyStrengthsTrade-offs
BatchHours to a daySimple, cheap, easy to rerunData is stale between runs
Micro-batchAbout one to fifteen minutesNear-fresh data with batch semanticsMore frequent jobs, higher overhead
StreamingMilliseconds to secondsImmediate reaction to eventsState management, ordering, harder debugging
Processing modes compared

A practical rule is to start with the slowest mode that meets the requirement. A daily sales report gains nothing from streaming, while fraud scoring on card payments cannot wait for a nightly batch. Many organizations run both: streaming for operational decisions and batch for complete, reconciled reporting.

Properties of a reliable pipeline

Reliability in data engineering rests on a few properties that experienced teams design for from the start. The most important is idempotency: running the same job twice for the same period must produce the same result, not duplicate rows.

  • Idempotent writes: overwrite or merge a partition for a given date instead of blindly appending.
  • Incremental processing: read only new or changed data using watermarks or change data capture, which keeps run times stable as volumes grow.
  • Backfill support: parameterize jobs by date range so history can be reprocessed deliberately.
  • Explicit dependencies: an orchestrator starts a step only after its upstream data is complete.
  • Data contracts: producers and consumers agree on schema, meaning and freshness so changes do not break downstream jobs silently.
  • Lineage: every output table records which sources and jobs produced it.

Orchestration tools schedule tasks as a directed acyclic graph (DAG), retry failed steps and record each run. They coordinate work but do not guarantee correctness: data quality tests must still verify that the output is complete and plausible.

The term data pipeline is often used interchangeably with neighboring terms, but each one describes a different level or pattern. The distinction helps when choosing architecture and when assigning ownership.

TermWhat it describesRelationship to a data pipeline
ETLTransform before loading into the targetA pipeline pattern suited to strict target schemas
ELTLoad raw data, transform inside the warehouseThe dominant pattern with cloud warehouses
Data lakeStorage for raw files at scaleA common landing destination
Data warehouseModeled storage for analyticsA common serving destination
LakehouseLake storage with table and transaction featuresDestination that combines both roles
OrchestratorScheduler and dependency managerRuns and monitors pipelines, is not one itself
Pipeline and neighboring terms

Common failures and how to prevent them

The most damaging pipeline failures are silent ones, where jobs succeed technically but deliver wrong or incomplete data. A failed job raises an alert; a job that loads half the expected rows often does not.

SymptomLikely causePrevention
Duplicate rows after a rerunAppend-only writes, no idempotencyPartition overwrite or merge on keys
Sudden drop in row countSource outage or changed filterVolume checks with expected ranges
Columns suddenly nullUpstream schema changeSchema contracts and validation at ingestion
Dashboards show old numbersLate or skipped runFreshness monitoring with alerts
Run times keep growingFull reloads of growing tablesIncremental loading and partitioning
Failure symptoms, causes and fixes

A further risk is pipeline sprawl: hundreds of small jobs built by different people without ownership or documentation. Assigning an owner to every pipeline and retiring unused outputs keeps the system maintainable and controls compute cost.

The short version

A data pipeline works like a water supply system for information. Water is collected from several sources. It is filtered and treated. Then pipes deliver it to homes, where it is ready to use.

A data pipeline does the same with data. It collects records from different systems and cleans them. It then delivers them to the place where people build reports. It runs automatically and checks itself, so nobody has to copy files by hand. When something breaks, it should raise an alarm.

Where it makes a difference

An online retailer sells through its own web shop and two marketplaces. Orders sit in three different systems, and the finance team used to merge spreadsheet exports every Monday, which took most of a working day and produced frequent mismatches.

The data team builds a pipeline that pulls new orders from all three sources every hour, lands the raw records in object storage, validates order identifiers and currencies, converts amounts to a single currency and merges everything into one orders table in the warehouse. Volume and freshness checks alert the team if any source delivers fewer orders than usual.

Finance now sees consolidated revenue within about an hour of each sale. When a marketplace changed its export format, the schema check stopped the load before wrong data reached the reports, and the fix took minutes instead of a week of corrections.