Katkat

Design Incremental Load Process for Large Relational Table

AmazonData Scientist · Technical Screen

Last updated

This question evaluates understanding of incremental loading, change-data-capture, idempotent upsert logic, deduplication, partitioning, and data quality controls for large relational tables within the Data Manipulation (SQL/Python) domain.

orders_daily_load

+------------+-----------+-------------+--------+ | load_date | order_id | customer_id | amount | +------------+-----------+-------------+--------+ | 2024-05-20 | 1001 | 501 | 58.90 | | 2024-05-20 | 1002 | 743 | 12.50 | | 2024-05-21 | 1003 | 501 | 35.00 | | 2024-05-22 | 1004 | 888 | 77.10 | | 2024-05-22 | 1002 | 743 | 12.50 | +------------+-----------+-------------+--------+

Scenario

Designing an incremental daily load process for a large relational table while ensuring data quality and idempotency.

Question

Provide an example of loading daily data for a large table—what steps did you take? What challenges did you encounter and how did you overcome them? How would you identify if you have already loaded a specific row before?

Hints

Discuss change-data-capture, primary keys, upsert logic, partitioning, dedup checks, and automation/monitoring.