Skip to content

lappis-unb/airflow-docker

Repository files navigation

Ambiente Airflow do Brasil Participativo

Neste repositório estão os códigos e instruções da instalação e configuração do ambiente Airflow utilizado pelos desenvolvedores da Plataforma Brasil Participativo.

Contribuição

Para fazer contribuições leia esse documento: fluxo de desenvolvimento da engenharia de dados

Índice

1. Preparação e execução do Airflow

1.1. Instalar Docker CE aqui!

Obs.: É necessário que o docker-compose tenha versão mínima 1.29 No Ubuntu 20.04. Abra o terminal e execute:

curl https://get.docker.com/ | bash

1.2. Clonar o repositório airflow-docker

git clone https://gitlab.com/lappis-unb/decidimbr/airflow-docker.git

1.3. Variáveis de configuração do Airflow

Atualizar, se desejar, variáveis de ambiente em .env.

2. Importando DAGs

A partir do repositório superior ao airflow-docker clonado em 1.2. clonar repositório:

git clone  https://gitlab.com/lappis-unb/decidimbr/airflow-dags.git

3. Executando o Airflow

3.1. Iniciar serviço

# de dentro da pasta clonada `airflow-docker`
docker compose up

Primeira vez que rodar o docker compose up o output deve ser semelhante a isso:

airflow-1st-up

Segunda em diante o output deve ser semelhante a isso:

airflow-n-up

Acesse o Airflow em http://localhost:8080/

3.2. Interromper serviço

# de dentro da pasta clonada `airflow-docker`
# ou na tela de logs, Ctrl+C e depois
docker-compose down

5. Acessos

5.1. Serviços

5.2. Volumes

  • Os arquivos de banco ficam persistidos em ./mnt/pgdata
  • Os arquivos de log ficam persistidos em ./mnt/logs
  • Os notebooks ficam persistidos em ./mnt/notebooks
  • Os arquivos do MinIO ficam persistidos em ./mnt/minio
  • As dags devem estar em um diretório paralelo a este chamado nome-da-sua-pasta-de-dags. Ou seja o Airflow está preparado para carregar as dags no diretório ../nome-da-sua-pasta-de-dags. Se você executou corretamente o passo 2. Importando DAGs, este diretório já está devidamente criado.
  • Para editar os volumes de DAGs, plugins e outros edite o docker-compose.yml

6. Instalação de pacotes, atualizações e upgrades

6.1. Instalação de pacotes Python

Novas bibliotecas python podem ser instaladas adicionando o nome e versão (obrigatório) no arquivo requirements.txt.

Para aplicar as mudanças rodar o comando de atualização da imagem em 6.3. Atualização da imagem airflow-docker.

6.2. Upgrade da versão do Airflow

Atualização na versão do Airflow é realizada alterando a imagem de build em Dockerfile conforme tags disponíveis em https://hub.docker.com/r/apache/airflow.

Para aplicar as mudanças rodar o comando de atualização da imagem em 6.3. Atualização da imagem airflow-docker.

6.3. Atualização da imagem airflow-docker

# de dentro da pasta clonada `airflow-docker`
docker build -t registry.gitlab.com/lappis-unb/decidimbr/airflow-docker:latest .

ou

# de dentro da pasta clonada `airflow-docker`
docker compose up --build -d

Have fun!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published