O DataflowPythonJobOp
permite que você crie um componente do Vertex AI Pipelines
que prepara dados enviando um job do Apache Beam gravado em
Python para Dataflow para execução.
O código do Python Beam é executado com o executor do Dataflow. Quando você executa o
pipeline com o serviço Dataflow, o executor faz upload do parâmetro e
dependências do código executável (especificado por python_module_path
) para um
bucket do Cloud Storage (especificado por temp_location
) cria um
job do Dataflow que executa o pipeline do Apache Beam em recursos
gerenciados no Google Cloud.
Para saber mais sobre o executor do Dataflow, consulte Como usar o executor do Dataflow.
O componente Python do Dataflow aceita uma lista de argumentos passados por meio do executor do Beam para o código do Apache Beam. Esses argumentos são especificados por args
. Por exemplo, é possível usar esses
argumentos para definir o apache_beam.options.pipeline_options
para especificar uma rede,
uma sub-rede, uma
chave de criptografia gerenciada pelo cliente (CMEK, na sigla em inglês) e outras opções ao executar jobs do Dataflow.
WaitGcpResourcesOp
Os jobs do Dataflow podem levar muito tempo para serem concluídos. Os custos de um contêiner busy-wait
, que inicia o job do Dataflow e aguarda o resultado, podem ficar caros.
Em vez disso, depois de enviar o job do Dataflow pelo executor do Beam, o componente DataflowPythonJobOp
será encerrado imediatamente. Um job_id
é
retornado pelo componente como um
proto gcp_resources
serializado. Essa saída pode ser transmitida para um componente WaitGcpResourcesOp
para aguardar a conclusão do job do Dataflow.
dataflow_python_op = DataflowPythonJobOp( project=project_id, location=location, python_module_path=python_file_path, temp_location = staging_dir, requirements_file_path = requirements_file_path, args = ['--output', OUTPUT_FILE], ) dataflow_wait_op = WaitGcpResourcesOp( gcp_resources = dataflow_python_op.outputs["gcp_resources"] )
O Vertex AI Pipelines otimiza o WaitGcpResourcesOp
para executá-lo de forma
sem servidor e não tem custo.
Se DataflowPythonJobOp
não atender aos requisitos (por exemplo, se você
precisar pré-processar antes de chamar o executor do Beam ou usar uma linguagem diferente,
como o Java do Beam), também será possível criar seu próprio componente que gera o
parâmetro gcp_resources
para aproveitar o componente WaitGcpResourcesOp
.
Para saber mais detalhes sobre como criar um parâmetro de saída gcp_resources
, consulte Criar um componente para mostrar um link do Console do Google Cloud.
Referência da API
Para referência de componentes, consulte a
referência do SDK google_cloud_pipeline_components
.
Tutoriais
- Primeiros passos com os componentes de pipeline do Dataflow
- Especificar uma rede e sub-rede
- Como usar chaves de criptografia gerenciadas pelo cliente (CMEK)
Histórico de versões e registro de alterações
Data | Versão | Notas |
---|---|---|
03/2022 | GCPC v1.0 | Versão 1.0 dos componentes. |
02/2022 | GCPC v0.3 | Nova versão experimental dos componentes. |
11/2021 | GCPC v0.2 | Versão experimental dos componentes. |
Contatos do suporte técnico
Se você tiver alguma dúvida, entre em contato com kubeflow-pipelines-components@google.com.