GCP Data Engineer study materials
GCP Data Engineer study resources

GCP Data Engineer: Maintaining and Automating Data Workloads

GCP Data Engineer · Work through your exam, one topic at a time.

All guide sections

Maintaining and Automating Data Workloads

Orchestrate, then automate

Cloud Composer (managed Airflow) is the orchestrator of choice for multi-step, cross-service DAGs with dependencies, retries and backfills. For lighter event-driven flows, Workflows chains API calls, Cloud Scheduler triggers time-based jobs, and Eventarc or Pub/Sub triggers Cloud Run functions. Dataflow pipelines should be deployed as Flex templates stored in Artifact Registry and launched by a scheduler or orchestrator, rather than started by hand. Dataproc workflow templates and serverless batches do the same for Spark. BigQuery scheduled queries cover simple recurring SQL.

Observability and failure handling

Instrument every stage with Cloud Monitoring metrics, alerting policies on freshness or failure rate, and log-based metrics where no built-in metric exists. For streaming, add a dead-letter topic and a subscription for unprocessable messages, and monitor subscription backlog and oldest-unacked-message age as your freshness signal. Make every stage idempotent and re-runnable: write to date-partitioned destinations with WRITE_TRUNCATE or MERGE, so a retry overwrites the same window instead of duplicating rows.

Cost and change control

Composer environments bill for the underlying workers even when no DAG runs, so keep environments minimal. Use budgets, quotas and slot commitments to bound spend. Store pipeline code in a repository, build with CI, deploy with Terraform or a deployment pipeline, and version templates in Cloud Storage.

Traps

  • Classic Dataflow templates cannot carry extra Python dependencies; use Flex templates.
  • Pub/Sub retries are at-least-once, so an idempotent sink is mandatory.
  • Autoscaling Composer 2 still has minimum workers.

Rule of thumb

If rerunning yesterday's job twice would double your data, the job is not production-ready.