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 de componentes de pipeline do Google Cloud inclui os seguintes operadores para criar recursos Job
e monitorar a execução deles:
Além disso, o SDK de componentes de pipeline do 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 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 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 SDK de componentes de pipeline do Google Cloud 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 dos componentes do Google Cloud Pipeline, consulte as Notas de lançamento do SDK dos componentes do Google Cloud Pipeline.
Contatos do suporte técnico
Se você tiver alguma dúvida, entre em contato com kubeflow-pipelines-components@google.com.