Os componentes do Dataflow permitem enviar jobs do Apache Beam para execução no Dataflow. No Dataflow, um recurso Job
representa um job do Dataflow.
O SDK dos componentes do pipeline Google Cloud inclui os
seguintes operadores para criar recursos Job
e monitorar a execução deles:
Além disso, o SDK dos componentes do pipeline Google Cloud inclui o componente
WaitGcpResourcesOp
, que pode ser usado para reduzir custos durante a execução de jobs do Dataflow.
DataflowFlexTemplateJobOp
O operador DataflowFlexTemplateJobOp
permite criar um
componente de pipelines da Vertex AI para iniciar um
modelo Flex do Dataflow.
No Dataflow, um recurso LaunchFlexTemplateParameter
representa um modelo Flex a ser iniciado. Esse componente cria um recurso LaunchFlexTemplateParameter
e solicita que o Dataflow crie um job ao iniciar o modelo. Se o modelo for iniciado
com sucesso, o Dataflow vai retornar um recurso
Job
.
O componente do modelo flexível do Dataflow é encerrado ao receber um recurso Job
do Dataflow. O componente gera um job_id
como um
proto gcp_resources
serializado. É possível transmitir esse parâmetro a um componente WaitGcpResourcesOp
para aguardar a conclusão do job do Dataflow.
DataflowPythonJobOp
O operador DataflowPythonJobOp
permite criar um componente do Vertex AI Pipelines que prepara
dados enviando um job do Apache Beam baseado em Python para o Dataflow para
execução.
O código Python do job do Apache Beam é executado com o Dataflow Runner.
Quando você executa o pipeline com o serviço Dataflow, o executor
faz upload do código executável para o local especificado pelo parâmetro python_module_path
e das dependências para um bucket do Cloud Storage (especificado por temp_location
) e, em seguida, cria um
job do Dataflow que executa o pipeline do Apache Beam em recursos gerenciados em 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 transmitidos pelo 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.
Depois de enviar o job do Dataflow pelo executor do Beam, o componente DataflowPythonJobOp
é encerrado imediatamente e retorna um parâmetro de saída job_id
como um proto gcp_resources
serializado. É possível transmitir esse parâmetro a 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
e DataflowFlexTemplateJobOp
não atenderem aos
requisitos, você também poderá criar seu próprio componente que gera o
parâmetro gcp_resources
e o transmite para o componente WaitGcpResourcesOp
.
Para mais informações sobre como criar o parâmetro de saída gcp_resources
, consulte
Escreva um componente para mostrar um link do console do Google Cloud.
Referência da API
Para conferir a referência de componentes, consulte a referência do SDKGoogle Cloud de componentes de pipeline para componentes do Dataflow.
Para referência de recursos do Dataflow, consulte as seguintes páginas de referência da API:
LaunchFlexTemplateParameter
RecursoJob
Recurso
Tutoriais
- Começar a usar o componente de modelo flexível do Dataflow
- Começar a usar o componente de job do Python do Dataflow
- Especificar uma rede e sub-rede
- Como usar chaves de criptografia gerenciadas pelo cliente (CMEK)
Histórico de versões e notas da versão
Para saber mais sobre o histórico de versões e as mudanças no SDK de componentes de pipeline Google Cloud , consulte as Notas de lançamento do SDK de componentes de pipelineGoogle Cloud .
Contatos do suporte técnico
Se você tiver alguma dúvida, entre em contato com kubeflow-pipelines-components@google.com.