Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Nesta página, explicamos como ativar o suporte para operadores adiáveis no seu ambiente e usar operadores adiáveis Google Cloud nos DAGs.
Sobre operadores adiáveis no Cloud Composer
Se você tiver pelo menos uma instância de acionador (ou pelo menos duas em ambientes altamente resilientes), poderá usar operadores e acionadores adiáveis nos seus DAGs.
Para operadores adiáveis, o Airflow divide a execução da tarefa nas seguintes etapas:
Inicie a operação. Nesta etapa, a tarefa ocupa um slot de worker do Airflow. A tarefa realiza uma operação que delega o trabalho a um serviço diferente.
Por exemplo, a execução de um job do BigQuery pode levar de alguns segundos a várias horas. Depois de criar o job, a operação transmite o identificador de trabalho (ID do job do BigQuery) a um gatilho do Airflow.
O gatilho monitora o job até que ele seja concluído. Nessa etapa, um slot de trabalhador não é ocupado. O acionador do Airflow tem arquitetura assíncrona e pode processar centenas de jobs desse tipo. Quando o gatilho detecta que o job foi concluído, ele envia um evento que aciona a última etapa.
Na última etapa, um worker do Airflow executa um callback. Esse callback, por exemplo, pode marcar a tarefa como concluída ou executar outra operação e definir o job para ser monitorado novamente pelo acionador.
O acionador não tem estado e, portanto, é resiliente a interrupções ou reinicializações. Por isso, os jobs de longa duração são resilientes a reinicializações de pods, a menos que a reinicialização ocorra durante a última etapa, que deve ser curta.
Antes de começar
Ativar suporte para operadores adiáveis
Um componente de ambiente chamado acionador do Airflow monitora de forma assíncrona todas as tarefas adiadas no seu ambiente. Depois que uma operação adiada de uma tarefa desse tipo é concluída, o gatilho passa a tarefa para um worker do Airflow.
Você precisa de pelo menos uma instância de acionador no seu ambiente (ou pelo menos duas em ambientes altamente resilientes) para usar o modo adiável nos seus DAGs. É possível configurar os acionadores ao criar um ambiente ou ajustar o número de acionadores e parâmetros de desempenho de um ambiente atual.
OperadoresGoogle Cloud compatíveis com o modo adiável
Apenas alguns operadores do Airflow foram estendidos para oferecer suporte ao modelo adiável.
A lista a seguir é uma referência para os operadores no pacote
apache-airflow-providers-google
que oferecem suporte ao modo adiável.
A coluna com a versão mínima necessária do pacote apache-airflow-providers-google
representa a versão mais antiga em que esse operador é compatível com o modo adiável.
Operadores do BigQuery
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
BigQueryCheckOperator | 8.4.0 |
BigQueryValueCheckOperator | 8.4.0 |
BigQueryIntervalCheckOperator | 8.4.0 |
BigQueryGetDataOperator | 8.4.0 |
BigQueryInsertJobOperator | 8.4.0 |
Operadores do serviço de transferência de dados do BigQuery
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
BigQueryDataTransferServiceStartTransferRunsOperator | 8.9.0 |
Operadores de lote
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
CloudBatchSubmitJobOperator | 10.7.0 |
Operadores do Cloud Build
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Operadores do Cloud Composer
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
CloudComposerCreateEnvironmentOperator | 6.4.0 |
CloudComposerDeleteEnvironmentOperator | 6.4.0 |
CloudComposerUpdateEnvironmentOperator | 6.4.0 |
CloudComposerRunAirflowCLICommandOperator | 11.0.0 |
Operadores do Cloud Run
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
CloudRunExecuteJobOperator | 10.7.0 |
Operadores do Cloud SQL
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
CloudSQLExportInstanceOperator | 10.3.0 |
Operadores do Serviço de transferência do Cloud Storage
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
CloudDataTransferServiceS3ToGCSOperator | 14.0.0 |
CloudDataTransferServiceGCSToGCSOperator | 14.0.0 |
Operadores do Dataflow
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
DataflowTemplatedJobStartOperator | 8.9.0 |
DataflowStartFlexTemplateOperator | 8.9.0 |
DataflowStartYamlJobOperator | 11.0.0 |
Operadores do Cloud Data Fusion
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
CloudDataFusionStartPipelineOperator | 8.9.0 |
Operadores do Dataplex Universal Catalog
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
DataplexRunDataQualityScanOperator | 10.8.0 |
DataplexGetDataQualityScanResultOperator | 10.8.0 |
DataplexRunDataProfileScanOperator | 11.0.0 |
Operadores do Dataproc
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
DataprocCreateClusterOperator | 8.9.0 |
DataprocDeleteClusterOperator | 8.9.0 |
DataprocJobBaseOperator | 8.4.0 |
DataprocInstantiateWorkflowTemplateOperator | 9.0.0 |
DataprocInstantiateInlineWorkflowTemplateOperator | 10.1.0 |
DataprocSubmitJobOperator | 8.4.0 |
DataprocUpdateClusterOperator | 8.9.0 |
DataprocDiagnoseClusterOperator | 11.0.0 |
DataprocCreateBatchOperator | 8.9.0 |
Operadores do Google Kubernetes Engine
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
GKEStartPodOperator | 12.0.0 |
GKEStartJobOperator | 11.0.0 |
Operadores do Pub/Sub
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
PubSubPullOperator | 14.0.0 |
Operadores do AI Platform
Nome do operador | Versão obrigatória do apache-airflow-providers-google |
---|---|
MLEngineStartTrainingJobOperator | 8.9.0 |
Usar operadores adiáveis nos seus DAGs
Uma convenção comum para todos os operadores Google Cloud é ativar o modo adiável com o parâmetro booleano deferrable
. Se um operador Google Cloudnão tiver esse parâmetro, ele não poderá ser executado no modo adiável. Outros operadores podem ter uma convenção diferente. Por exemplo, alguns operadores da comunidade têm uma classe separada com o sufixo Async
no nome.
O exemplo de DAG a seguir usa o operador DataprocSubmitJobOperator
no modo adiável:
PYSPARK_JOB = {
"reference": { "project_id": "PROJECT_ID" },
"placement": { "cluster_name": "PYSPARK_CLUSTER_NAME" },
"pyspark_job": {
"main_python_file_uri": "gs://dataproc-examples/pyspark/hello-world/hello-world.py"
},
}
DataprocSubmitJobOperator(
task_id="dataproc-deferrable-example",
job=PYSPARK_JOB,
deferrable=True,
)
Ver registros do acionador
O acionador gera registros que ficam disponíveis junto com os registros de outros componentes do ambiente. Para mais informações sobre como visualizar os registros do ambiente, consulte Visualizar registros.
Acionador de monitoramento
Para mais informações sobre como monitorar o componente de acionador, consulte Métricas do Airflow.
Além de monitorar o acionador, você pode verificar o número de tarefas adiadas nas métricas Tarefa não concluída no painel do Monitoring do seu ambiente.
A seguir
- Como solucionar problemas do acionador do Airflow
- Métricas do acionador do Airflow
- Registros do acionador do Airflow