liveBook · Manning

Migration

As explained in Machine Learning System Design

A data integration process that extracts data from sources, transforms it, and loads the result into a destination.

A model cannot train on data it cannot reliably fetch. Extract, transform, load (ETL) moves information from its sources into a usable dataset: fetch it, tailor its structure, and store the result. For example, an external API’s JSON files might become local CSV or Parquet files. The immediate goal is data availability, not an elaborate storage architecture. section 6.2.1

Design for both training and runtime. Training data should be easy to fetch, ideally through one command or call when it combines several sources. The same sources must also be available during inference, although efficient inference-time fetching is a separate design problem. If a dataset is small and unlikely to grow dramatically, familiar storage may be enough; rapid growth deserves more attention to the data model. section 6.2.1

Before building the pipeline, settle a few practical questions:

  • Which sources supply the data, and how will the result be represented and stored? section 6.7
  • Which samples need filtering, and which corner cases need manual or automatic handling? section 6.7
  • How will features and labels be produced? Treat these as related dataset decisions rather than assuming one fixed order of operations. section 6.7 section 6.8

Daily retail aggregates

A demand-forecasting dataset draws on transactions, product and store information, and external data such as weather. One pipeline aggregates transactions daily and adds each new partition to a table of aggregates. Missing or duplicated transaction, stock, and promotion records need filtering before aggregation; purchased external data still needs checks. Existing history helps the forecast learn sales patterns, but the pipeline must keep delivering usable additions. section 6.7.1

Photo-search datasets

Photo descriptions and clicks arise from normal business activity, so their immediate need is appropriate ETL and storage. Clicks can be noisy because of user behavior and scraping bots. A separate labels dataset requires a labeling budget. Keeping relevant user, seller, and session identifiers supports later filtering and feature engineering without aggregating everything at ingestion. section 6.7.2

A successful job status is not proof of a healthy dataset: a job can process zero rows, report success, and leave an upstream failure unnoticed. Check that expected data arrived and remains usable. Pipeline failures, changed formats, extraction queries, and feature-calculation code can all damage downstream model performance. Aim for reproducibility, consistency, and availability—not merely a green status indicator. section 14.3.1 section 6.8

How Machine Learning System Design covers it

How deep it goes
Defines ETL and works through design questions and cases, but defers detailed storage and processing-tool engineering.
Examples
Uses API JSON converted to CSV or Parquet, daily retail transaction aggregates, and photo-search interaction datasets.
What it assumes
Assumes an ML system with training and inference needs; defines ETL from its basic steps rather than assuming data-engineering expertise.
What you can do after
Operate/configure it by identifying sources, choosing storage, planning quality checks, and verifying that jobs deliver usable data.
How it connects
Links ETL to data availability, storage design, filtering, feature engineering, metadata, inference, and monitoring.

Also explained in

Compare how 19 books explain migration →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Machine Learning System Design. The section links point to the parts of the book it draws on.