Apache Airflow is a tool to help you schedule and manage tasks automatically. It lets you create workflows as code, so you can control when and how tasks run.
Click to reveal answer
beginner
What is a DAG in Apache Airflow?
A DAG (Directed Acyclic Graph) is a set of tasks with a clear order. It shows how tasks depend on each other and the sequence they run in Airflow.
Click to reveal answer
intermediate
How does Apache Airflow schedule tasks?
Airflow uses a scheduler that checks when tasks should run based on time or events. It then triggers tasks in the right order automatically.
Click to reveal answer
intermediate
Why use Apache Airflow instead of manual scripts?
Airflow helps organize complex workflows, retries failed tasks, and shows clear logs. This makes managing many tasks easier and less error-prone than manual scripts.
Click to reveal answer
beginner
What language do you use to write Airflow workflows?
You write Airflow workflows in Python. This lets you use normal code to define tasks and their order.
Click to reveal answer
What does Apache Airflow primarily help you do?
ASchedule and manage automated workflows
BStore large amounts of data
CCreate user interfaces
DMonitor network traffic
✗ Incorrect
Apache Airflow is designed to schedule and manage workflows automatically.
In Airflow, what is a DAG?
AA set of tasks with dependencies
BA type of database
CA user interface component
DA cloud service
✗ Incorrect
A DAG is a Directed Acyclic Graph that defines task order and dependencies.
Which language is used to write Airflow workflows?
AJava
BJavaScript
CRuby
DPython
✗ Incorrect
Airflow workflows are written in Python.
What component in Airflow triggers tasks at the right time?
AExecutor
BDatabase
CScheduler
DWebserver
✗ Incorrect
The scheduler checks when tasks should run and triggers them accordingly.
Why is Airflow better than running manual scripts for workflows?
AIt requires no coding
BIt organizes tasks, retries failures, and logs clearly
CIt runs tasks faster
DIt replaces all databases
✗ Incorrect
Airflow helps manage complex workflows with retries and clear logs, making it more reliable than manual scripts.
Explain what Apache Airflow is and why it is useful.
Think about how Airflow helps manage tasks automatically and why that is better than doing it by hand.
You got /5 concepts.
Describe the role of a DAG and the scheduler in Apache Airflow.
Focus on how tasks are organized and run in Airflow.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of Apache Airflow?
easy
A. To monitor network traffic
B. To store large amounts of data
C. To create user interfaces for websites
D. To automate and schedule tasks in a specific order
Solution
Step 1: Understand Apache Airflow's role
Apache Airflow is designed to automate and schedule tasks, not to store data or create interfaces.
Step 2: Identify the correct purpose
It manages workflows by running tasks in a defined order automatically.
Final Answer:
To automate and schedule tasks in a specific order -> Option D
Quick Check:
Automation and scheduling = A [OK]
Hint: Airflow schedules and runs tasks automatically [OK]
Common Mistakes:
Confusing Airflow with data storage tools
Thinking Airflow builds websites
Assuming Airflow monitors networks
2. Which of the following is the correct way to define a DAG in Apache Airflow using Python?
easy
A. dag = DAG('my_dag', schedule_interval='@daily')
B. dag = DAG('my_dag' schedule_interval='@daily')
C. dag = DAG['my_dag', schedule_interval='@daily']
D. dag = DAG{'my_dag', schedule_interval='@daily'}
Solution
Step 1: Check Python syntax for function calls
Function calls use parentheses with arguments separated by commas.
Step 2: Identify correct syntax
dag = DAG('my_dag', schedule_interval='@daily') uses parentheses and commas correctly; others have missing commas or wrong brackets.
Final Answer:
dag = DAG('my_dag', schedule_interval='@daily') -> Option A
Quick Check:
Function call syntax = A [OK]
Hint: Use parentheses and commas for function arguments [OK]
Common Mistakes:
Missing commas between arguments
Using square or curly brackets instead of parentheses
Incorrect argument separation
3. Given the following Airflow DAG snippet, what will be the order of task execution?
from airflow import DAG
from airflow.operators.dummy import DummyOperator
from datetime import datetime
dag = DAG('example_dag', start_date=datetime(2023,1,1))
t1 = DummyOperator(task_id='task1', dag=dag)
t2 = DummyOperator(task_id='task2', dag=dag)
t3 = DummyOperator(task_id='task3', dag=dag)
t1 >> t2 >> t3
medium
A. All tasks run at the same time
B. task3 runs, then task2, then task1
C. task1 runs, then task2, then task3
D. task2 runs first, then task1, then task3
Solution
Step 1: Understand the '>>' operator in Airflow
The '>>' operator sets task dependencies, meaning left task runs before right task.
Step 2: Trace the task order
t1 >> t2 >> t3 means task1 runs first, then task2, then task3.
Final Answer:
task1 runs, then task2, then task3 -> Option C
Quick Check:
Dependency chain = task1 -> task2 -> task3 [OK]
Hint: The '>>' operator means 'runs before' [OK]
Common Mistakes:
Thinking tasks run in reverse order
Assuming tasks run in parallel without dependencies
Misreading the '>>' operator
4. You wrote this Airflow DAG code but it fails to run:
from airflow import DAG
from airflow.operators.dummy import DummyOperator
from datetime import datetime
dag = DAG('my_dag', start_date=datetime(2023,1,1))
t1 = DummyOperator(task_id='task1')
t2 = DummyOperator(task_id='task2')
t1 >> t2
What is the error?
medium
A. Task IDs must be integers
B. Missing DAG parameter in DummyOperator tasks
C. start_date must be a string
D. Wrong import for DummyOperator
Solution
Step 1: Check task definitions
Tasks need to be linked to a DAG by passing the 'dag' parameter.
Step 2: Identify missing 'dag' argument
t1 and t2 are missing 'dag=dag', so Airflow doesn't know which DAG they belong to.
Final Answer:
Missing DAG parameter in DummyOperator tasks -> Option B
Quick Check:
Tasks need DAG assigned = D [OK]
Hint: Always assign tasks to a DAG with dag=dag [OK]
Common Mistakes:
Forgetting to pass dag=dag to tasks
Incorrect imports causing errors
Wrong data types for start_date or task_id
5. You want to create an Airflow workflow that retries a task up to 3 times if it fails. Which DAG task parameter should you set?
hard
A. retries=3
B. retry_count=3
C. max_retry=3
D. retry_limit=3
Solution
Step 1: Recall Airflow retry parameter
Airflow uses 'retries' to specify how many times to retry a failed task.
Step 2: Match parameter name
The correct parameter is 'retries', not retry_count, max_retry, or retry_limit.
Final Answer:
retries=3 -> Option A
Quick Check:
Retries parameter controls retry count = B [OK]
Hint: Use 'retries' to set retry attempts in Airflow tasks [OK]
Common Mistakes:
Using incorrect parameter names like retry_count
Confusing retry count with timeout
Not setting retries at all
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.