Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Nesta página, explicamos como ativar o suporte a operadores adiáveis no seu ambiente e usar operadores Google Cloud adiáveis nos seus 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 nos seguintes estágios:
Inicie a operação. Nessa fase, a tarefa ocupa um slot de worker do Airflow. A tarefa executa uma operação que delega o job 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) para um gatilho do Airflow.
O acionador monitora o job até a conclusão. Nessa fase, uma faixa de trabalhador não está ocupada. O acionador do Airflow tem arquitetura assíncrona e é capaz de processar centenas de trabalhos. Quando o acionador 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. Por exemplo, esse callback pode marcar a tarefa como concluída ou executar outra operação e definir o job para ser monitorado pelo acionador novamente.
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 aconteça durante a última etapa, que deve ser curta.
Antes de começar
- Os operadores e sensores adiáveis estão disponíveis nos ambientes do Cloud Composer 2
e exigem o seguinte:
- Cloud Composer 2.0.31 e versões mais recentes
- Airflow 2.2.5, 2.3.3 e versões mais recentes
Ativar o suporte a 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 é concluída, o acionador transmite a tarefa a um worker do Airflow.
É necessário ter pelo menos uma instância de gatilho no ambiente (ou pelo menos duas em ambientes altamente resilientes) para usar o modo adiado nas 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 existente.
OperadoresGoogle Cloud compatíveis com o modo adiado
Apenas alguns operadores do Airflow foram estendidos para oferecer suporte ao modelo adiado.
A lista a seguir é uma referência para os operadores no pacote
airflow.providers.google.operators.cloud
que oferecem suporte ao modo adiado.
A coluna com a versão mínima do pacote airflow.providers.google.operators.cloud
necessária representa a versão mais antiga do pacote em que esse operador oferece suporte ao modo adiado.
Operadores do Cloud Composer
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
CloudComposerCreateEnvironmentOperator | 6.4.0 |
CloudComposerDeleteEnvironmentOperator | 6.4.0 |
CloudComposerUpdateEnvironmentOperator | 6.4.0 |
Operadores do BigQuery
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
BigQueryCheckOperator (link em inglês) | 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 apache-airflow-providers-google necessária |
---|---|
BigQueryDataTransferServiceStartTransferRunsOperator | 8.9.0 |
Operadores do Cloud Build
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
CloudBuildCreateBuildOperator | 8.7.0 |
Operadores do Cloud SQL
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
CloudSQLExportInstanceOperator | 10.3.0 |
Operadores do Dataflow
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
DataflowTemplatedJobStartOperator | 8.9.0 |
DataflowStartFlexTemplateOperator | 8.9.0 |
Operadores do Cloud Data Fusion
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
CloudDataFusionStartPipelineOperator | 8.9.0 |
Operadores do Dataproc
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
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 |
DataprocCreateBatchOperator | 8.9.0 |
Operadores do Google Kubernetes Engine
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
GKEDeleteClusterOperator | 9.0.0 |
GKECreateClusterOperator | 9.0.0 |
Operadores do AI Platform
Nome do operador | Versão apache-airflow-providers-google necessária |
---|---|
MLEngineStartTrainingJobOperator | 8.9.0 |
Usar operadores adiáveis nos seus DAGs
Uma convenção comum para todos os operadores Google Cloud é ativar o
modo adiado com o parâmetro booleano deferrable
. Se um operador Google Cloud
nã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 de 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,
)
Conferir registros do acionador
O acionador gera registros que estão disponíveis com os registros de outros componentes do ambiente. Para mais informações sobre como visualizar os registros do seu ambiente, consulte Conferir os registros.
Acionador de monitoramento
Para mais informações sobre como monitorar o componente 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 de monitoramento do seu ambiente.
A seguir
- Como resolver problemas do acionador do Airflow
- Métricas do acionador do Airflow
- Registros do acionador do Airflow