Vertex AI Pipeline Components for Image Preprocessing
Short answer
B DataflowPythonJobOp, WaitGcpResourcesOp, and CustomTrainingJobOp
Question
Key Takeaways
This question tests the selection of scalable data processing components within Vertex AI Pipelines, specifically distinguishing between Dataflow for heavy preprocessing and standard custom components.
For scalable image preprocessing in Vertex AI Pipelines, use DataflowPythonJobOp alongside CustomTrainingJobOp. This approach leverages managed serverless data processing to prepare images before custom model training.
Common mistake: Selecting Option C (dsl.component) is a common mistake because, while flexible, it lacks the built-in scalability and efficiency of Dataflow for processing large volumes of image data.
Expert Analysis
Why the Answer Is Correct
Option B is correct because DataflowPythonJobOp is designed to execute Apache Beam pipelines for scalable data transformation tasks like resizing and grayscale conversion. Since the requirement is a custom model, CustomTrainingJobOp is the necessary component for the training phase. Additionally, WaitGcpResourcesOp is required to pause the pipeline until the asynchronous Dataflow preprocessing job finishes before training begins.
Why the Other Options Are Wrong
Option A is incorrect because Dataproc is typically used for big data analytics with Spark/ Hadoop and is less integrated for standard Python preprocessing tasks than Dataflow. Option C is incorrect because dsl.component runs on the GKE cluster and may not efficiently handle large-scale image processing compared to Dataflow. Option D is incorrect because the question specifies a "custom image classification model," which rules out AutoML-specific components like AutoMLImageTrainingJobRunOp.
Community Comment Notes
The community unanimously supports Option B, emphasizing that Dataflow is the standard for parallelizing preprocessing tasks effectively. Users noted that DataflowPythonJobOp is the most direct method to implement data preparation within a pipeline, whereas generic Kubeflow components are considered overkill or less efficient. Several comments cited official Google Cloud documentation to confirm the usage of the Dataflow component for these specific scenarios.
Official Reference
https://cloud.google.com/vertex-ai/docs/pipelines/dataflow-component
This link opens the official vendor documentation in a new tab.
Exam Strategy
Identify keywords like "preprocessing," "resizing," or "feature extraction" in pipeline questions to signal the need for DataflowPythonJobOp. Always pair this with a wait operator if the job runs asynchronously to ensure the pipeline executes steps in the correct order.
Community Votes
100% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 5 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 5
-
guilhermebutzke 👍 5 Answered BMy Answer: B Looking for the options, DataflowPythonJobOp can be used for parallelizing the preprocessing tasks, which is suitable for image resizing, converting to grayscale, and extracting features. dsl.ParallelFor could be useful for parallelizing tasks but might not be the most straightforward option for image preprocessing. Generally DataflowPythonJobOp is followed by WaitGcpResourcesOp. https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/fe7d3e4b8edc137d90ec061789b879b7cc8d3854/notebooks/community/ml_ops/stage3/get_started_with_dataflow_flex_template_component.ipynb
-
b1a8fae 👍 2 Answered BI go with B. Custom training is surely required. Discarding A because Spark is not mentioned anywhere in the problem description. C involves Kubeflow which seems a bit overkill imo. DataflowPythonJobOp operator lets you create a Vertex AI Pipelines component that prepares data -> seems like the appropriate course of action to me. https://cloud.google.com/vertex-ai/docs/pipelines/dataflow-component#dataflowpythonjobop
-
Dirtie_Sinkie 👍 2 Answered BB is definitely right, no doubt
-
pikachu007 👍 1 Answered BA. DataprocSparkBatchOp: While capable of data processing, it's less well-suited for image-specific tasks like resizing and grayscale conversion compared to DataflowPythonJobOp. C. dsl.ParallelFor, dsl.component: While offering flexibility, they require more manual orchestration and potentially less efficient for image preprocessing compared to DataflowPythonJobOp. D. ImageDatasetImportDataOp, AutoMLImageTrainingJobRunOp: These components are designed for AutoML Image training, not directly compatible with custom preprocessing and training tasks.
-
pinimichele01 👍 1 Answered Bhttps://cloud.google.com/vertex-ai/docs/pipelines/dataflow-component#dataflowpythonjobop
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All PMLE Questions
Access 65 questions with complete answers and detailed explanations.
View Full PMLE Practice Test →