You need an Apache Beam pipeline that enriches Cloud Pub/Sub messages with small static reference data from BigQuery (fits in worker memory) and writes enriched rows to BigQuery. Which job type and transforms should you use?
Choose an answer
Tap an option to check your answer.
Correct answer: Streaming job, PubSubIO, BigQueryIO, side-inputs.
Why this is the answer
The correct choice is a Streaming job, PubSubIO, BigQueryIO, and side-inputs. A streaming job is necessary because the pipeline processes messages from Cloud Pub/Sub continuously. PubSubIO is the appropriate transform for reading from Pub/Sub. BigQueryIO is used for writing the enriched data to BigQuery. Side-inputs are ideal for enriching data with small static reference data that fits in worker memory, as they allow a PCollection (containing the reference data, read once from BigQuery) to be accessed by every element in another PCollection. Batch job is incorrect because the problem specifies continuous processing of Pub/Sub messages. JdbcIO is incorrect as the reference data is in BigQuery, not a generic JDBC source. Side-outputs are used for splitting a PCollection into multiple outputs, not for enriching data with external static reference data.
Pass your exam — without the endless answer hunt
Get every verified question and explanation for this exam in one place, and save hours of prep. 1,000+ certifications · 20+ languages · free to start.
Pass your exam faster → No card needed