Dados armazenados no Cloud Storage

Nesta página, você vê quais dados do ambiente são armazenados pelo Cloud Composer no Cloud Storage.

Quando você cria um ambiente, um intervalo do Cloud Storage gerado pelo Cloud Composer é associado a ele. O nome do intervalo é baseado no nome e região do ambiente e em um ID aleatório. Por exemplo, us-central1-b1-6efannnn-bucket.

O Cloud Composer armazena o código-fonte dos fluxos de trabalho (DAGs, na sigla em inglês) e as dependências deles em pastas específicas no Cloud Storage. Além disso, ele usa o Cloud Storage FUSE para mapear as pastas para as instâncias do Airflow no ambiente do Cloud Composer.

Pastas no intervalo do Cloud Storage

PastaDescriçãoCaminho de armazenamentoDiretório mapeado
DAG Armazena os DAGs do ambiente. Somente os DAGs dessa pasta são programados no ambiente. gs://bucket-name/dags /home/airflow/gcs/dags
Plug-ins Armazena os plug-ins personalizados, como interfaces, sensores, hooks e operadores internos do Airflow. gs://bucket-name/plugins /home/airflow/gcs/plugins
Dados Armazena os dados gerados e usados pelas tarefas. Essa pasta é ativada em todos os nós de worker. gs://bucket-name/data /home/airflow/gcs/data
Registros Armazena os registros de tarefas do Airflow. Os registros também estão disponíveis na interface da Web do Airflow. gs://bucket-name/logs /home/airflow/gcs/logs

Observações sobre capacidade

DAGs e plug-ins: por padrão, o Cloud Composer provisiona 100 GB de capacidade para o ambiente e as pastas dags/ e plugins/.

Para evitar falhas no fluxo de trabalho, armazene os DAGs, plug-ins e módulos do Python na pasta dags/ ou plugins/, mesmo se os módulos não tiverem DAGs ou plug-ins. Por exemplo, armazene o py_file mencionado por um DataFlowPythonOperator na pasta dags/ ou plugins/.

Dados e registros: as pastas data/ e logs/ não estão sujeitas a limites de capacidade.

Para evitar erros no servidor da Web, verifique se os dados necessários para analisar um DAG, em vez de executá-lo, estão disponíveis na pasta dags/. Caso contrário, o servidor da Web não conseguirá acessar os dados nem carregar a interface da Web do Airflow.

Sincronização de dados

Quando você modifica DAGs ou plug-ins no intervalo do Cloud Storage, o Cloud Composer sincroniza os dados em todos os nós do cluster.

O Cloud Composer faz a sincronização unidirecional das pastas dags/ e plugins/ ao copiá-las para o local. Isso significa que as alterações locais nessas pastas serão substituídas.

As pastas data/ e logs/ são sincronizadas bidirecionalmente por meio do Cloud Storage FUSE.

Os dados não são sincronizados com o servidor da Web devido à capacidade limitada. Isso também acontece porque o servidor da Web analisa DAGs em um ambiente do Cloud Composer em vez de executá-los. São os workers que executam os DAGs.

Diretrizes

  1. Coloque as bibliotecas Python personalizadas em um arquivo ZIP do DAG em um diretório aninhado. Não inclua bibliotecas no nível superior do diretório de DAGs.

    Quando verifica a pasta dags/, o Airflow só analisa os DAGs nos módulos do Python que estejam no nível superior da pasta dags/ e de um arquivo ZIP também localizado nela. Se o Airflow encontrar um módulo do Python em um arquivo ZIP que não contenha as substrings airflow e DAG, ele interromperá o processamento desse arquivo. O Airflow retorna apenas os DAGs encontrados até esse ponto.

  2. Para ter tolerância a falhas, não defina vários objetos de DAG no mesmo módulo do Python.

  3. Não defina subDAGs como objetos de nível superior.

    Em geral, o Airflow seleciona objetos de DAG no namespace global de um módulo no diretório dags/ como DAGs de nível superior. Todos os subDAGs definidos como objetos de nível superior são executados de acordo com as próprias programações, além dos agendamentos de outros DAGs que incorporam os subDAGs.

  4. Coloque os arquivos necessários para a análise do DAG no diretório dags/, e não no data/. O diretório data/ não está ativado no servidor da Web.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…