Bem-vindo ao curso "Aprofundando no Airflow - Executor Celery"! Meu nome é Millena Gená e serei sua instrutora nesta jornada!
Millena Gená é uma mulher branca de olhos castanhos e cabelos escuros e cacheados. Veste uma camiseta cinza com a estampa "Alura" e está sentada em uma cadeira gamer de cor azul. Ao fundo, um ambiente de iluminação verde claro, e uma mesa com livros da saga Harry Potter, uma pelúcia de polvo roxo e um funko da personsagem Eleven, de Stranger Things.
Neste curso, iremos nos familiarizar com a ferramenta Apache Airflow, conhecendo dois dos seus executores: Local e Celery. Vamos a um breve resumo das etapas do nosso curso!
Iniciaremos instalando a ferramenta e configurando o ambiente que utilizaremos no decorrer do curso. Em seguida, entenderemos por que aparecem duas mensagens de aviso na tela inicial do Airflow quando o executamos pela primeira vez. Depois, criaremos um DAG com tarefas para extrair dados do mercado financeiro.
Aprenderemos, ainda, a configurar e utilizar os executores Local e Celery para fazer as tarefas do nosso dag. Por fim, criaremos um segundo DAG para que possamos ver a dinâmica de execução das tarefas quando há mais de um DAG ativo. Também conheceremos algumas configurações de paralelismo, que são muito importantes quando trabalhamos com a execução de mais de uma tarefa ao mesmo tempo.
Para que consiga acompanhar este curso, é importante que você tenha alguns conhecimentos:
Vamos embarcar nesta jornada?
Neste curso, vamos desenvolver um projeto que envolve a criação de um DAG que terá diferentes tarefas para extrair os dados do mercado financeiro. Nós vamos realizar essas tarefas utilizando diferentes executores do Airflow e entendendo as principais vantagens de cada um.
Antes, no entanto, precisamos configurar o nosso ambiente e instalar o Airflow. Há uma atividade disponível que lhe ajudará a preparar o ambiente, além de ensinar-lhe como instalar, criar e configurar sua máquina virtual para utilizá-la no curso.
Para começar a configuração, abra seu terminal e vamos verificar a versão do Python que está instalada na máquina virtual. Para isso, utilizaremos o comando python3 --version
. Estamos com a versão 3.8.10, padrão do Python para o Ubuntu, no entanto, optaremos por utilizar a versão 3.9, mas antes de instalá-la atualizaremos os pacotes do Ubuntu.
python3 --version
Para baixar os pacotes, utilize o comando a seguir.
sudo apt update
Aguarde o carregamento e, para finalizar a atualização destes pacotes, execute este comando.
sudo apt upgrade
Pressione "y" para continuar e aguarde.
Após o processo de atualização, que pode levar um tempo, vamos ativar um repositório do Ubuntu que nos permite instalar diferentes versões do Python na nossa máquina. Utilizaremos o seguinte comando:
sudo add-apt-repository ppa:deadsnakes/ppa
Após executá-lo, perceba que pedirá que você tecle "Enter". Ao teclar, ele terminará a ativação.
Agora podemos instalar a versão 3.9 do Python através do código a seguir.
sudo apt install python3.9
Em seguida, tecle "y" e aguarde a finalização da instalação.
Para verificar se a instalação ocorreu corretamente, execute este comando.
python3.9 --version
Pronto! Instalamos a versão do Python com a qual queremos trabalhar.
Além da versão 3.9 do Python, precisamos instalar o pacote do Python 3.9 que nos permite criar os ambientes virtuais com os quais precisaremos trabalhar. O comando para isso é
sudo apt install python3.9-venv
Após rodá-lo, tecle "y" e aguarde a instalação.
O pacote foi instalado e agora podemos criar nosso ambiente virtual. Mas antes de partir para esta etapa, criaremos uma pasta onde organizaremos todo o nosso projeto. Esta pasta será criada dentro de "Documents".
Pressione "Ctrl + L" para limpar o terminal e acesse a pasta "Documents" usando o comando cd Documents
. Agora, criaremos uma nova pasta chamada "airflowalura" usando o comando mkdir airflowalura
.
cd Documents
mkdir airflowalura
Acesse a pasta criada com o comando cd airflowalura
. Estando na pasta do nosso projeto, podemos finalmente criar nosso ambiente virtual! Para isso, utilizaremos o comando python3.9 -m venv venv
, informando que queremos criá-lo com esta versão do Python e nomeando-o. Optamos por chamá-lo de "venv", o mesmo nome do módulo, sendo assim os "venv's" do nosso comando dizem respeito ao módulo e ao nome do nosso ambiente, respectivamente.
cd airflowalura
python3.9 -m venv venv
Após rodar o comando anterior, nosso ambiente virtual será criado! Para conferir essa criação, chamamos o comando de ativação source venv/bin/activate
. Podemos perceber que o ambiente foi ativado conferindo o caminho mostrado no terminal que contém o nome do nosso ambiente.
source venv/bin/activate
Agora que criamos o ambiente e o ativamos, partiremos para a instalação do Airflow. Faremos este passo na aula a seguir!
Agora que criamos nosso ambiente virtual e o configuramos, podemos partir para a instalação do Airflow.
O Airflow é uma ferramenta utilizada para criar, agendar e monitorar os pipelines de dados de uma forma programática, utilizando a linguagem Python. Se assemelha a um aplicativo ou uma biblioteca, por isso, às vezes, podemos encontrar dificuldades para instalá-lo. Neste curso usaremos o pacote pip pra realizar a instalação desta ferramenta. Vamos lá?
Primeiramente, vamos acessar a pasta "airflowalura" no nosso terminal. Para isso, rode o comando cd Documents/airflowalura
. Agora ativaremos o ambiente virtual com source venv/bin/activate
. Estamos dentro do ambiente e podemos iniciar a instalação do Airflow!
cd Documents/airflowalura
source venv/bin/activate
O comando pip install apache-airflow
é responsável por instalar a ferramenta, mas, para desenvolver o nosso projeto, também precisaremos de alguns pacotes do próprio Airflow que darão suporte a outros programas. Podemos instalá-los juntos, portanto, adicionaremos [postgres, celery, redis]
ao comando de instalação.
pip install apache-airflow[postgres, celery, redis
Ainda nesse comando, precisamos identificar a versão do Airflow com o trecho ==2.3.2
.
pip install apache-airflow[postgres, celery, redis]==2.3.2
Por fim, passamos o arquivo de restrição Constraint file, que serve para especificar todas as versões das dependências que o Airflow precisa para funcionar. Para adicioná-lo, utilizamos --constraint " "
e entre as aspas passamos a url do arquivo de restrição que fica no GitHub do Airflow: https://raw.githubusercontent.com/apache/airflow/constraint-2.3.2/constraints-3.9.txt
.
pip install apache-airflow[postgres,celery,redis]==2.3.2 --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.3.2/constraints-3.9.txt"
Observe que na url constam as versões do Airflow e do Python. É importante nos atentarmos a estes detalhes porque esses arquivos de restrição mudam de acordo com a versão utilizada. Agora basta executar o comando.
Após a instalação do Airflow, vamos iniciá-lo localmente. Mas antes, temos que setar a variável de ambiente Airflow Home. Essa variável é importante porque é por meio dela que o sistema consegue localizar onde a ferramenta está instalada e consegue rodá-la localmente. Sendo assim, todas as vezes que formos executar o Airflow, precisaremos, antes, importar esta variável. Para importá-la utilizamos o seguinte comando:
export AIRFLOW_HOME=~/Documents/airflowalura
Agora, passe o comando airflow standalone
para rodar localmente o Airflow na nossa máquina. Este comando inicia o banco de dados padrão da ferramenta e cria um usuário e uma senha para que possamos acessá-la, além de ativar seus principais serviços.
airflow standalone
Pronto! Observe que o log de execução do comando nos retorna uma série de informações, entre elas "Airflow is ready" (ou "Airflow está pronto", em português) seguido do usuário e senha que nos permitem acessar a interface do Airflow por meio do navegador.
Caso você não tenha conseguido localizar essa informação, ela ficará salva na pasta de instalação do Airflow. Para isso, acesse a pasta "airflowalura" e observe que há um arquivo chamado "standalone_admin_password". Clique nele e copie a senha.
No navegador, acesse "localhost8080". Abrirá uma guia onde você deve passar seu username ("nome de usuário" em português) e colar a senha. Pronto! Acessamos a interface do Airflow!
Note dois avisos em amarelo no topo da tela. O primeiro informa que estamos utilizando um banco de dados SQLite que não pode ser usado em produção, apenas em testes e desenvolvimento. O segundo indica que o executor Sequential também não pode ser usado em produção. Esses avisos surgem porque ainda não mexemos em nenhuma configuração do Airflow, então estão sendo usadas as configurações padrões que só suportam testes e desenvolvimento.
Logo mais, aprenderemos a trabalhar com esses ajustes a fim de tornar nossa instalação pronta para produção e, para que possamos visualizar o que acontece à medida que alteramos essas configurações, precisaremos ter um DAG executando algumas taks ("tarefas" em português), assim conseguimos observar como as configurações afetam a dinâmica de execução dessas tarefas.
Nos próximos vídeos começaremos a desenvolver o DAG. Te vejo lá!
O curso Aprofundando no Airflow: Executores Local e Celery possui 148 minutos de vídeos, em um total de 55 atividades. Gostou? Conheça nossos outros cursos de Engenharia de Dados em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.