Data Engineering Zoomcamp 2026

Homework 5: Data Platforms Statistics

Distribution of scores and reported study time for this homework.

Submissions

613

Median total score

7

Average total score

7

Score distribution

All values are points.

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.

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