Start here
What you will learn
- The four kinds of source: databases, APIs, event streams and files.
- Pull and push: who starts the transfer.
- Full load and incremental load, with real rows.
- The problems of reading a source: pages, limits, retries, shifting pages and duplicates.
- Five short recipes, and when to build or buy.
You know the stages of a pipeline from The Data Pipeline Lifecycle. The first stage gets data in. People call it ingestion.
A source is any system that holds the data you want. You usually do not control it. It can change, slow down, or go quiet.
This chapter uses one shop with four sources. The first is the app database, PostgreSQL, with customers and orders 101 to 106. The second is a payment provider’s API, a way for one program to ask another program for data.
The third is a stream of click events from the website. The fourth is a CSV file that a delivery partner sends each day. A CSV file is plain text: each line is one row, and commas split the columns.
You also know ETL and ELT from ETL vs ELT. Both start with the same step: read from the source. This chapter is about that step.
