Os componentes do Dataflow permitem-lhe enviar tarefas do Apache Beam para execução no Dataflow. No Dataflow, um recurso representa uma tarefa do Dataflow.Job
O Google Cloud SDK inclui os seguintes operadores para criar recursos Job
e monitorizar a respetiva execução:
Além disso, o Google Cloud SDK inclui o componente
WaitGcpResourcesOp
, que pode usar para mitigar os custos durante a execução de
tarefas do Dataflow.
DataflowFlexTemplateJobOp
O operador DataflowFlexTemplateJobOp
permite-lhe criar um componente dos
Vertex AI Pipelines para lançar um
modelo flexível do Dataflow.
No Dataflow, um recurso LaunchFlexTemplateParameter
representa um modelo flexível a ser iniciado. Este componente cria um recurso LaunchFlexTemplateParameter
e, em seguida, pede ao Dataflow para criar uma tarefa através do lançamento do modelo. Se o modelo for iniciado com êxito, o Dataflow devolve um recurso Job
.
O componente do modelo flexível do Dataflow termina após receber um recurso de Job
do Dataflow. O componente produz um job_id
como um proto gcp_resources
serializado. Pode transmitir este parâmetro a um componente WaitGcpResourcesOp
para aguardar a conclusão da tarefa do Dataflow.
DataflowPythonJobOp
O operador DataflowPythonJobOp
permite-lhe criar um componente do Vertex AI Pipelines que prepara
dados através do envio de uma tarefa do Apache Beam baseada em Python para o Dataflow para
execução.
O código Python da tarefa do Apache Beam é executado com o Dataflow Runner.
Quando executa a sua pipeline com o serviço Dataflow, o executor carrega o código executável para a localização especificada pelo parâmetro python_module_path
e as dependências para um contentor do Cloud Storage (especificado por temp_location
) e, em seguida, cria uma tarefa do Dataflow que executa a sua pipeline do Apache Beam em recursos geridos no Google Cloud.
Para saber mais sobre o Dataflow Runner, consulte o artigo Usar o Dataflow Runner.
O componente Python do Dataflow aceita uma lista de argumentos que são transmitidos através do Beam Runner para o seu código do Apache Beam. Estes argumentos são especificados por args
. Por exemplo, pode usar estes argumentos para definir o apache_beam.options.pipeline_options
para especificar uma rede, uma sub-rede, uma chave de encriptação gerida pelo cliente (CMEK) e outras opções quando executa tarefas do Dataflow.
WaitGcpResourcesOp
As tarefas do Dataflow podem demorar muito tempo a ser concluídas. Os custos de um contentor busy-wait
(o contentor que inicia a tarefa do Dataflow e aguarda o resultado) podem tornar-se caros.
Depois de enviar a tarefa do Dataflow através do executor do Beam, o componente DataflowPythonJobOp
termina imediatamente e devolve um parâmetro de saída job_id
como um proto serializado.gcp_resources
Pode transmitir este parâmetro a um componente WaitGcpResourcesOp
para aguardar a conclusão da tarefa 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 o executar de forma
sem servidor e não tem custos.
Se DataflowPythonJobOp
e DataflowFlexTemplateJobOp
não cumprirem os seus requisitos, também pode criar o seu próprio componente que produz o parâmetro gcp_resources
e transmiti-lo ao componente WaitGcpResourcesOp
.
Para mais informações sobre como criar o parâmetro de saída gcp_resources
, consulte o artigo
Escreva um componente para mostrar um Google Cloud link da consola.
Referência da API
Para referência de componentes, consulte a Google Cloud referência do SDK para componentes do Dataflow.
Para consultar a referência de recursos do Dataflow, consulte as seguintes páginas de referência da API:
LaunchFlexTemplateParameter
recursoJob
recurso
Tutoriais
- Comece a usar o componente de modelo flexível do Dataflow
- Comece a usar o componente de tarefa Python do Dataflow
- Especifique uma rede e uma sub-rede
- Usar chaves de encriptação geridas pelo cliente (CMEK)
Histórico de versões e notas de lançamento
Para saber mais sobre o histórico de versões e as alterações ao Google Cloud SDK de componentes de pipeline, consulte as Google Cloud notas de lançamento do SDK de componentes de pipeline.
Contactos do apoio técnico
Se tiver dúvidas, contacte kubeflow-pipelines-components@google.com.