Data Engineering Zoomcamp 2026
Homework 5: Data Platforms Statistics
Distribution of scores and reported study time for this homework.
Score distribution
All values are points.
| Metric |
Min |
Q1 |
Median |
Average |
Q3 |
Max |
| Questions score |
- |
6.0 |
6.0 |
6.1 |
7.0 |
7 |
| Learning in public score |
- |
0.0 |
0.0 |
0.6 |
1.0 |
7 |
| Total score |
- |
6.0 |
7.0 |
6.8 |
7.0 |
15 |
Questions score
- Min
- -
- Median
- 6.0
- Max
- 7
- Q1
- 6.0
- Avg
- 6.1
- Q3
- 7.0
Learning in public score
- Min
- -
- Median
- 0.0
- Max
- 7
- Q1
- 0.0
- Avg
- 0.6
- Q3
- 1.0
Total score
- Min
- -
- Median
- 7.0
- Max
- 15
- Q1
- 6.0
- Avg
- 6.8
- Q3
- 7.0
Time distribution
All values are hours reported by students.
| Metric |
Min |
Q1 |
Median |
Average |
Q3 |
Max |
| Lectures |
0.0 |
3.0 |
4.0 |
7.4 |
7.0 |
72.0 |
| Homework |
0.0 |
1.5 |
2.0 |
4.0 |
4.0 |
60.0 |
Lectures
- Min
- 0.0
- Median
- 4.0
- Max
- 72.0
- Q1
- 3.0
- Avg
- 7.4
- Q3
- 7.0
Homework
- Min
- 0.0
- Median
- 2.0
- Max
- 60.0
- Q1
- 1.5
- Avg
- 4.0
- Q3
- 4.0
Question breakdown
Correctness and answer distribution per question.
1. Bruin Pipeline StructureIn a Bruin project, what are the required files/directories?
492 / 613 correct
(80.3%)
1
bruin.yml and assets/
25 (4.1%)
2
.bruin.yml and pipeline.yml (assets can be anywhere)
96 (15.7%)
3
.bruin.yml and pipeline/ with pipeline.yml and assets/
476 (77.7%)
4
pipeline.yml and assets/ only
16 (2.6%)
2. Materialization Strategies You're building a pipeline that processes NYC taxi data organized by month based on pickup_datetime. Which incremental strategy is best for processing a specific interval period by deleting and inserting data for that time period?
578 / 613 correct
(94.3%)
1
append - always add new rows
15 (2.4%)
2
replace - truncate and rebuild entirely
16 (2.6%)
3
time_interval - incremental based on a time column
578 (94.3%)
4
view - create a virtual table only
3 (0.5%)
3. Pipeline VariablesYou have a variable defined in pipeline.yml:variables: taxi_types: type: array items: type: string default: ["yellow", "green"]How do you override this when running the pipeline to only process yellow taxis?
582 / 613 correct
(94.9%)
1
bruin run --taxi-types yellow
1 (0.2%)
2
bruin run --var taxi_types=yellow
18 (2.9%)
3
bruin run --var 'taxi_types=["yellow"]'
582 (94.9%)
4
bruin run --set taxi_types=["yellow"]
8 (1.3%)
4. Running with DependenciesYou've modified the ingestion/trips.py asset and want to run it plus all downstream assets. Which command should you use?
381 / 613 correct
(62.2%)
1
bruin run ingestion.trips --all
7 (1.1%)
2
bruin run ingestion/trips.py --downstream
381 (62.2%)
3
bruin run pipeline/trips.py --recursive
8 (1.3%)
4
bruin run --select ingestion.trips+
215 (35.1%)
5. Quality Checks. You want to ensure the pickup_datetime column in your trips table never has NULL values. Which quality check should you add to your asset definition?
594 / 613 correct
(96.9%)
1
name: unique
1 (0.2%)
2
name: not_null
594 (96.9%)
3
name: positive
1 (0.2%)
4
name: accepted_values, value: [not_null]
13 (2.1%)
6. Lineage and DependenciesAfter building your pipeline, you want to visualize the dependency graph between assets. Which Bruin command should you use?
529 / 613 correct
(86.3%)
1
bruin graph
74 (12.1%)
2
bruin dependencies
4 (0.7%)
3
bruin lineage
529 (86.3%)
4
bruin show
4 (0.7%)
7. Question 7. First-Time RunYou're running a Bruin pipeline for the first time on a new DuckDB database. What flag should you use to ensure tables are created from scratch?
576 / 613 correct
(94.0%)
1
--create
11 (1.8%)
2
--init
21 (3.4%)
3
--full-refresh
576 (94.0%)
4
--truncate
3 (0.5%)
Calculated:
19 March 2026, 14:27