We'll be your copilot(s) during this pair programming exercise, and we'll be looking at your thought process, research skills and Python proficiency.
BE OVERLY VERBOSE/TALKATIVE. Run yourself with --verbose e.g. ask questions
or explain your rationale. That'll give us better insights into your
capabilities, and let us hand you gists/code snippets we've got at the ready so
you don't have to do too much research.
The business wants to extend selling of products beyond Earth and wants to target the wider galaxy. To better understand the target audience, the business wants to start looking into intergalactic customer profiles available from the Star Wars API.
Create a new daily data ingestion pipeline/job in Python 3 to keep up-to date with all the people in the Star Wars universe:
-
Ingest all people data from the Star Wars API - https://swapi.py4e.com/
- The API provided unique "people id" for each person should be captured
-
The people data should land into the Data Warehouse:
- DuckDB - https://duckdb.org/
-
Your colleagues in the team have already defined a database table schema for you to use
- Creation/maintenance of this table should be handled by this ingestion pipeline/job
-
Capture any changes to existing people in the universe
- E.g. if C3PO decides to go blonde, the existing record in the Warehouse should reflect this
As you code along please have some thoughts regarding:
- Testing (please include at least 1 test)
- Reliability
- Scalability
- Readability
- Deployment/Operationability