Alura > Cursos de Data Science > Cursos de Engenharia de Dados > Conteúdos de Engenharia de Dados > Primeiras aulas do curso Aprofundando no Airflow: Executores Local e Celery

Aprofundando no Airflow: Executores Local e Celery

Configurando o ambiente - Apresentação

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:

  1. comandos básicos do Linux, para que possamos trabalhar no terminal;
  2. linguagem Python;
  3. conceitos básicos de Airflow, como dags e tarefas.

Vamos embarcar nesta jornada?

Configurando o ambiente - Criando um ambiente virtual

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!

Configurando o ambiente - Instalando o Airflow

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á!

Sobre o curso Aprofundando no Airflow: Executores Local e Celery

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:

Aprenda Engenharia de Dados acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas