Airflow gerenciado (Geração 3) | Airflow gerenciado (Geração 2) | Airflow gerenciado (Geração 1 legada)
Nesta página, você vê quais dados do ambiente são armazenados pelo Serviço gerenciado para Apache Airflow no Cloud Storage.
Quando você cria um ambiente, um
bucket do Cloud Storage gerado pelo Airflow gerenciado é associado a ele. O nome do bucket é baseado na região do ambiente, no nome e em um ID aleatório, como us-central1-b1-6efabcde-bucket.
O Airflow gerenciado sincroniza pastas específicas no bucket do ambiente com os componentes do Airflow executados nele. Por exemplo, quando você atualiza um arquivo com o código do DAG do Airflow no bucket do ambiente, os componentes do Airflow também recebem a versão atualizada. O Airflow gerenciado usa Cloud Storage FUSE para sincronização.
Pastas no bucket do Cloud Storage
| Pasta | Caminho de armazenamento | Diretório mapeado | Descrição |
|---|---|---|---|
| DAG | gs://bucket-name/dags |
/home/airflow/gcs/dags |
Armazena os DAGs do ambiente. |
| Plug-ins | gs://bucket-name/plugins |
/home/airflow/gcs/plugins |
Armazena os plug-ins personalizados, como interfaces, sensores, hooks e operadores internos do Airflow. |
| Dados | gs://bucket-name/data |
/home/airflow/gcs/data |
Armazena os dados gerados e usados pelas tarefas. |
| Registros | gs://bucket-name/logs |
/home/airflow/gcs/logs |
Armazena os registros de tarefas do Airflow. Os registros também estão disponíveis na interface do Airflow e na guia Registros do Google Cloud console. |
O Airflow gerenciado sincroniza pastas unidirecionalmente: do bucket para os componentes do Airflow. A sincronização unidirecional significa que as mudanças locais nessas pastas em um componente do Airflow são substituídas.
A sincronização dos dados tem consistência eventual. Para enviar mensagens entre operadores, use XComs.
Observações sobre capacidade
Os dados das pastas dags/, plugins/ e data/ são sincronizados com os programadores e workers do Airflow.
O conteúdo da pasta plugins/ é sincronizado com o servidor da Web do Airflow.
Quanto mais dados forem colocados nessas pastas, mais espaço será ocupado no armazenamento local dos componentes do Airflow. Salvar muitos dados em dags/ e plugins/ pode interromper suas operações e gerar problemas como:
Um worker ou um programador fica sem armazenamento local e é removido por falta de espaço no disco local do componente.
A sincronização de arquivos das pastas
dags/eplugins/com workers e programadores leva muito tempo.A sincronização de arquivos das pastas
dags/eplugins/com workers e programadores se torna impossível. Por exemplo, você armazena um arquivo de 2 GB na pastadags/, mas o disco local de um worker do Airflow só pode acomodar 1 GB. Durante a sincronização, o worker fica sem armazenamento local e a sincronização não pode ser concluída.
Pastas de DAGs e plug-ins
Para evitar falhas na execução do DAG, armazene seus DAGs, plug-ins e módulos do Python nas pastas dags/ ou plugins/, mesmo que os módulos do Python não contenham DAGs ou plug-ins.
Por exemplo, você usa um DataFlowPythonOperator que referencia um pipeline do Dataflow py_file. Esse py_file não contém DAGs ou plug-ins, mas ainda precisa ser armazenado na pasta dags/ ou plugins/.
Pasta de dados
Há cenários em que determinados arquivos da pasta data/ são sincronizados com um componente específico do Airflow. Por exemplo, quando o Serviço gerenciado para Apache Airflow tenta ler um determinado arquivo pela primeira vez durante:
Análise de DAG: quando um arquivo é lido pela primeira vez durante a análise de DAG, o Serviço gerenciado para Apache Airflow o sincroniza com o programador que analisa o DAG.
Execução de DAG: quando um arquivo é lido pela primeira vez durante a execução de DAG, o Serviço gerenciado para Apache Airflow o sincroniza com o worker que executa a execução.
Os componentes do Airflow têm armazenamento local limitado. Portanto, considere excluir os arquivos baixados para liberar espaço em disco nos componentes. O uso do armazenamento local também pode aumentar temporariamente se você tiver tarefas simultâneas que baixam o mesmo arquivo para um único worker do Airflow.
Pasta de registros
A pasta logs/ é sincronizada dos workers do Airflow para o bucket do ambiente usando a API Storage.
A cota da API Storage do Cloud Storage é calculada pela quantidade de dados movidos. Portanto, o número de tarefas do Airflow que o sistema executa pode aumentar o uso da API Storage do Cloud Storage: quanto mais tarefas você executar, maiores serão os arquivos de registro.
Sincronização com o servidor da Web
A pasta plugins/ é sincronizada automaticamente com o servidor da Web para que os plug-ins possam ser carregados pela interface do Airflow.