Bird
Raised Fist0
GCPcloud~10 mins

Data pipeline patterns in GCP - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Data pipeline patterns
Data Source
↓
Ingest Data
↓
Process Data
↓
Store Data
↓
Analyze / Visualize
↓
End User / Application
Data flows step-by-step from source through ingestion, processing, storage, and finally to analysis or use.
Execution Sample
GCP
1. Read data from Cloud Storage
2. Process data with Dataflow
3. Store results in BigQuery
4. Visualize with Looker
This pipeline reads raw data, processes it, stores processed data, and then visualizes it.
Process Table
StepActionService UsedInputOutputNotes
1Read raw dataCloud StorageRaw filesData streamData ingestion starts
2Process dataDataflowData streamTransformed dataData cleaned and enriched
3Store dataBigQueryTransformed dataStored tablesData ready for queries
4Visualize dataLookerStored tablesReports/DashboardsUsers see insights
5EndN/AN/AN/APipeline complete
💡 Pipeline ends after data is visualized and available for users
Status Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
DataRaw filesData streamTransformed dataStored tablesReports/Dashboards
Key Moments - 2 Insights
Why do we need a processing step after ingestion?
Because raw data often needs cleaning or transforming before storage; see Step 2 in execution_table where Dataflow processes the data.
Can visualization happen before storing data?
No, visualization tools like Looker need structured data in storage like BigQuery; Step 3 stores data before Step 4 visualizes it.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what service processes the data after ingestion?
ACloud Storage
BBigQuery
CDataflow
DLooker
💡 Hint
Check Step 2 in execution_table under 'Service Used'
At which step is data stored in BigQuery?
AStep 1
BStep 3
CStep 2
DStep 4
💡 Hint
Look at the 'Store data' action in execution_table
If the processing step is skipped, what is likely to happen?
AStored data may be raw and unstructured
BVisualization will work without data
CData will be clean and ready
DIngestion will fail
💡 Hint
Refer to Step 2 and Step 3 in execution_table about data transformation
Concept Snapshot
Data pipelines move data from source to analysis in steps:
1. Ingest raw data (Cloud Storage)
2. Process/transform data (Dataflow)
3. Store processed data (BigQuery)
4. Visualize data (Looker)
Each step prepares data for the next, ensuring clean, usable insights.
Full Transcript
A data pipeline in GCP starts by ingesting raw data from sources like Cloud Storage. Then, Dataflow processes this data by cleaning and transforming it. The processed data is stored in BigQuery for efficient querying. Finally, visualization tools like Looker use this stored data to create reports and dashboards for users. Each step depends on the previous one to prepare data properly for the next stage, ensuring reliable and insightful results.

Practice

(1/5)
1. Which Google Cloud service is best suited for real-time messaging in a data pipeline?
easy
A. Cloud Storage
B. BigQuery
C. Pub/Sub
D. Cloud Functions

Solution

  1. Step 1: Understand real-time messaging needs

    Real-time messaging requires a service that can quickly send and receive messages between components.
  2. Step 2: Identify Google Cloud services for messaging

    Pub/Sub is designed for real-time messaging, while BigQuery is for analytics, Cloud Storage for file storage, and Cloud Functions for event-driven compute.
  3. Final Answer:

    Pub/Sub -> Option C
  4. Quick Check:

    Real-time messaging = Pub/Sub [OK]
Hint: Real-time messaging in GCP? Think Pub/Sub first [OK]
Common Mistakes:
  • Confusing BigQuery as a messaging service
  • Choosing Cloud Storage for streaming data
  • Selecting Cloud Functions instead of messaging service
2. Which of the following is the correct syntax to create a Dataflow pipeline in Python using Apache Beam?
easy
A. pipeline = beam.Pipeline(options=options)
B. pipeline = Dataflow(options)
C. pipeline = beam.Create(options)
D. pipeline = DataflowPipeline(options=options)

Solution

  1. Step 1: Recall Apache Beam pipeline creation syntax

    Apache Beam pipelines are created using beam.Pipeline with options passed as a parameter.
  2. Step 2: Compare options

    pipeline = beam.Pipeline(options=options) matches the correct syntax. Other options use incorrect class names or methods.
  3. Final Answer:

    pipeline = beam.Pipeline(options=options) -> Option A
  4. Quick Check:

    Apache Beam pipeline creation = beam.Pipeline [OK]
Hint: Beam pipelines start with beam.Pipeline(options=...) [OK]
Common Mistakes:
  • Using Dataflow instead of beam.Pipeline
  • Confusing Create with pipeline creation
  • Incorrect class names like DataflowPipeline
3. Given this simplified Dataflow pipeline code snippet, what will be the output in BigQuery?
p = beam.Pipeline(options=options)
(p
 | 'Read' >> beam.io.ReadFromPubSub(subscription='sub')
 | 'Parse' >> beam.Map(lambda x: x.decode('utf-8'))
 | 'Write' >> beam.io.WriteToBigQuery('project:dataset.table'))
p.run()
medium
A. Data will be stored in Cloud Storage instead of BigQuery
B. Data from Pub/Sub messages decoded and stored in BigQuery table
C. Pipeline will fail due to missing schema in WriteToBigQuery
D. Raw Pub/Sub messages stored as bytes in BigQuery

Solution

  1. Step 1: Analyze pipeline steps

    The pipeline reads messages from Pub/Sub, decodes bytes to strings, then writes to BigQuery.
  2. Step 2: Understand output behavior

    Since messages are decoded before writing, the data stored in BigQuery will be the decoded string form.
  3. Final Answer:

    Data from Pub/Sub messages decoded and stored in BigQuery table -> Option B
  4. Quick Check:

    Decoded Pub/Sub data written to BigQuery = Data from Pub/Sub messages decoded and stored in BigQuery table [OK]
Hint: Decoded Pub/Sub data goes to BigQuery if WriteToBigQuery used [OK]
Common Mistakes:
  • Assuming raw bytes are stored without decoding
  • Thinking pipeline fails without explicit schema (default schema can be inferred)
  • Confusing output destination as Cloud Storage
4. You have a Dataflow pipeline that reads from Pub/Sub but fails with a permission error. What is the most likely cause?
medium
A. The Pub/Sub topic does not exist
B. BigQuery dataset is not created
C. The Dataflow pipeline code has syntax errors
D. The service account running Dataflow lacks Pub/Sub Subscriber role

Solution

  1. Step 1: Identify permission error context

    Permission errors usually mean the service account lacks rights to access a resource.
  2. Step 2: Match error to resource

    Since the pipeline reads from Pub/Sub, the service account needs the Subscriber role on the Pub/Sub topic.
  3. Final Answer:

    The service account running Dataflow lacks Pub/Sub Subscriber role -> Option D
  4. Quick Check:

    Permission error reading Pub/Sub = missing Subscriber role [OK]
Hint: Permission errors often mean missing roles on resources [OK]
Common Mistakes:
  • Assuming syntax errors cause permission errors
  • Thinking topic absence causes permission errors
  • Confusing BigQuery dataset issues with Pub/Sub permissions
5. You want to build a data pipeline that ingests streaming IoT sensor data, processes it in real-time, and stores aggregated results hourly in BigQuery. Which pattern best fits this use case?
hard
A. Use Pub/Sub for ingestion, Dataflow streaming for processing with windowing, then write to BigQuery
B. Use Cloud Storage for ingestion, batch Dataflow jobs for processing, then write to BigQuery
C. Use BigQuery streaming inserts directly from IoT devices
D. Use Cloud Functions triggered by Cloud Storage uploads to process data

Solution

  1. Step 1: Identify streaming ingestion and processing needs

    IoT sensor data is streaming and requires real-time processing with time-based aggregation.
  2. Step 2: Match GCP services to requirements

    Pub/Sub handles streaming ingestion, Dataflow streaming supports windowed aggregation, and BigQuery stores results efficiently.
  3. Final Answer:

    Use Pub/Sub for ingestion, Dataflow streaming for processing with windowing, then write to BigQuery -> Option A
  4. Quick Check:

    Streaming ingestion + windowed processing + BigQuery = Use Pub/Sub for ingestion, Dataflow streaming for processing with windowing, then write to BigQuery [OK]
Hint: Streaming + windowed aggregation = Pub/Sub + Dataflow + BigQuery [OK]
Common Mistakes:
  • Using batch processing for streaming data
  • Trying to write streaming data directly to BigQuery without processing
  • Using Cloud Storage which is for batch files, not streaming
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard