home
diamond Go Premium
Data Engineering Path  ·  Airflow
Apache Airflow Logo

Theoretical Quiz — Module 8

Test Your Knowledge

Q1. What makes a Dataset "update" from Airflow's perspective?

Show Answer

A task instance that lists the Dataset in its outlets=[] completing successfully. Airflow doesn't inspect the actual data - the update event is purely "this task, which claimed to write this Dataset, succeeded."


Q2. A DAG is scheduled with schedule=[dataset_a, dataset_b]. Dataset A updates three times in a row with no update to Dataset B in between. How many times does the DAG run?

Show Answer

Zero times, so far. A DAG scheduled on multiple Datasets requires all of them to have updated at least once since its last run - repeated updates to only one Dataset don't satisfy that until Dataset B also updates.


Q3. What changed between Airflow 2.x Datasets and Airflow 3.0 Assets beyond the name?

Show Answer

AssetWatchers - the ability for an Asset to react to changes happening outside Airflow entirely (a queue message, a webhook), not only to an Airflow task explicitly declaring an update via outlets=.


Q4. Between TriggerDagRunOperator and ExternalTaskSensor, which one requires the upstream DAG to know the downstream DAG's ID, and which requires the downstream DAG to know the upstream one's?

Show Answer

TriggerDagRunOperator lives in the upstream DAG and needs trigger_dag_id - the upstream DAG knows about downstream. ExternalTaskSensor lives in the downstream DAG and needs external_dag_id - the downstream DAG knows about upstream. Datasets need neither DAG to know the other's ID at all.

lock

This content is reserved for Premium Members.

Upgrade to Premium

Entity Details

Create New Item

help

Submit Technical Query

Have a question or run into an issue? Describe it below, upload an optional screenshot, and our engineering team will answer it!

image Attach image (optional)

Submit Feedback

build Free Developer Utility Free Tool
gavel

Privacy & Legal Disclaimer

1. Client-Side Browser Processing

All utility tools on DeepEngineerHub (including Image to PDF, Text Formatters, JSON Converters, and Encryptors) execute 100% locally within your client browser using WebAssembly and JavaScript. No uploaded images, text, or documents are transmitted, collected, or stored on remote servers.

2. Limitation of Liability ("As-Is" Provision)

Tools and services are provided free of charge for convenience and educational purposes "as-is" without warranties of any kind. DeepEngineerHub shall not be held liable for any data loss, formatting inconsistencies, or indirect damages resulting from tool usage.

3. Open Source & Third-Party Software

Certain utilities utilize open-source client libraries (such as jsPDF, Mermaid.js, Pyodide) licensed under MIT, Apache, or BSD open licenses. All intellectual property remains with their respective copyright holders.