PDE Maintaining and Automating Data Workloads Practice Question
A data engineer must ensure that a Cloud Composer DAG which loads a BigQuery table runs every day at 02:00 UTC and that a dependent downstream report DAG runs only after the load succeeds. The report DAG lives in the same Composer environment but is a separate DAG file. Which feature should be used to coordinate the two DAGs?
⚠ Common exam trap
The trap here is using a time-based wait or an intra-DAG trigger rule when the dependency crosses DAG boundaries.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
An ExternalTaskSensor in the report DAG referencing the load DAG and task, with a matching execution date.
ExternalTaskSensor is the purpose-built mechanism for waiting on a task in another DAG. Configuring it with the correct execution date alignment makes the report DAG block until the load task succeeds, which is exactly the cross-DAG dependency described. Time-based and intra-DAG mechanisms cannot observe another DAG's success state.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
A shared XCom written by the load DAG and read by the report DAG using xcom_pull across DAGs.
Why it's wrong here
XComs are scoped to a DAG run and are not a supported cross-DAG coordination signal. There is no reliable scheduler behaviour that blocks the report DAG based on an XCom from another DAG. Relying on this would create race conditions, so it does not correctly coordinate the two DAGs.
- ✗
A single trigger_rule of all_success applied to the report DAG's root task.
Why it's wrong here
trigger_rule controls whether a task runs based on its upstream tasks within the same DAG. It has no visibility into a different DAG's task states, so it cannot make the report DAG wait for the load DAG. This setting alone leaves the cross-DAG dependency unresolved and is therefore incorrect.
- ✗
A TimeSensor in the report DAG set to the expected load completion time.
Why it's wrong here
A TimeSensor only waits for a clock time and has no knowledge of whether the load actually succeeded. If the load is delayed or fails, the report DAG would still proceed on schedule, producing reports from stale or missing data. This does not provide success-based coordination between the two DAGs, so it is incorrect.
- ✓
An ExternalTaskSensor in the report DAG referencing the load DAG and task, with a matching execution date.
Why this is correct
ExternalTaskSensor is designed to wait on a task in a different DAG, which matches the cross-DAG dependency here. With the correct execution_delta or execution_date_fn so the two runs align, the report DAG waits until the load task succeeds before proceeding, giving the required success-based coordination.
About these practice questions
Courseiva writes every PDE question from scratch — 747 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Google Cloud exam blueprint
This PDE practice question is part of Courseiva's free Google Cloud certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PDE exam.