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.
Para fazer contribuições leia esse documento: fluxo de desenvolvimento da engenharia de dados
- 1. Preparação e execução do Airflow
- 2. Importando Plugins e DAGs
- 3. Executando o Airflow
- 4. Configurações finais
- 5. Acessos
- 6. Instalação de pacotes, atualizações e upgrades
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
Atualizar, se desejar, variáveis de ambiente em .env.
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
# 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:
Segunda em diante o output deve ser semelhante a isso:
Acesse o Airflow em http://localhost:8080/
# de dentro da pasta clonada `airflow-docker`
# ou na tela de logs, Ctrl+C e depois
docker-compose down
Airflow UI
em http://localhost:8080/Jupyter lab
em http://localhost:8888/labMinIO
em http://localhost:9001
- 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
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.
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.
# 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!