Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, explicamos como ativar o suporte para operadores adiáveis no seu e usar operadores adiáveis do Google Cloud nos DAGs.
Sobre os operadores adiáveis no Cloud Composer
Se você tiver pelo menos uma instância do engatilhador (ou pelo menos duas em instâncias ambientes resilientes), é possível usar Operadores e gatilhos adiáveis nos DAGs.
Para operadores adiáveis, o Airflow divide a execução da tarefa nos seguintes estágios:
Inicie a operação. Neste estágio, a tarefa ocupa um worker do Airflow espaço. A tarefa executa uma operação que delega o trabalho a um um serviço diferente.
Por exemplo, a execução de um job do BigQuery pode levar alguns de 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 gatilho do Airflow tem e é capaz de lidar com centenas desses jobs. Quando o detectar que o job foi concluído, ele enviará um evento que aciona na última etapa.
Na última etapa, um worker do Airflow executa um callback. Esse retorno de chamada, para exemplo, pode marcar a tarefa como bem-sucedida ou executar outra operação e defina o job para ser monitorado pelo acionador novamente.
O engatilhador é sem estado e, portanto, resistente 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 sensores e operadores 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. Após uma operação adiada dessa tarefa for concluída, o engatilhador transmitirá a tarefa para 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 gatilhos ao criar um ambiente ou ajustar o número de acionadores e parâmetros de desempenho para um ambiente atual.
Operadores do Google Cloud com suporte para o modo adiável
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 de pacote airflow.providers.google.operators.cloud
mínima necessária representa a versão do pacote mais antiga em que esse operador oferece suporte ao modo adiável.
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 | 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 DAGs
Uma convenção comum para todos os operadores do Google Cloud é permitir a
modo adiável com o parâmetro booleano deferrable
. Se um cliente do Google Cloud
operador não tiver esse parâmetro, ele não poderá ser executado na variável
modo Outros operadores podem ter uma convenção diferente. Por exemplo, algumas
os operadores de comunidade têm uma classe separada com o sufixo Async
na classe
nome.
O DAG de exemplo a seguir usa o operador DataprocSubmitJobOperator
na
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 seu ambiente consulte Ver 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, é possível verificar o número de solicitações tarefas nas métricas Tarefa inacabada no painel do Monitoring do de nuvem.
A seguir
- Como solucionar problemas do acionador do Airflow
- Métricas do acionador do Airflow
- Registros do gatilho do Airflow