Daniel: Olá! Eu sou o Daniel Siqueira, instrutor da escola de dados.
Igor: E eu sou o Igor Nascimento Alves. Também sou instrutor na escola de dados.
Igor é um jovem homem branco de cabelos curtos e pretos e barba. Ele usa óculos de grau de armação redonda e veste uma camiseta preta estampada. Está sentado
Daniel é um jovem homem negro, usa óculos de grau de armação retangular e headphone preto. Está vestido com uma camiseta preta e estampada. Por cima, uma camisa xadrez de botões aberta, sua estampa tem quadrados cinzas, pretos e brancos. Também está sentado e, à sua frente, há um microfone preso ao suporte e orientado na direção do rosto de Daniel.
Daniel: Nós gostaríamos de te dar as boas-vindas ao curso de Engenharia de dados: Conhecendo o Apache Airflow da Alura. Nele, faremos parte de um projeto e vamos:
Nos conectar com a API do Twitter;
Extrair dados dos Tweets;
Armazenar os dados dentro de um DataLake.
Igor: Para isso, utilizaremos o Apache Airflow, um orquestrador de fluxo de dados. Com ele, será possível planejar as tarefas de extrações e trazer os dados para o nosso DataLake.
Daniel: Ao longo dessa jornada, aprenderemos a:
Configurar uma conta de desenvolvedor no Twitter;
Criar uma conexão na API do Twitter pela linguagem Python;
Por isso, é interessante que você já tenha algum nível de proficiência com essa linguagem. Além disso, como o Igor comentou, aprenderemos a utilizar o Airflow e a configurar o Hook, o Operator e os DAGs, que dão ao Aiflow o poder de orquestração.
Igor: Esse curso é para você que deseja aprender a construir um pipeline de dados e quer se aprofundar no orquestrador do Airflow, uma ferramenta muito poderosa.
Daniel: E também para você que tem interesse na engenharia de dados, já que o Airflow é pedido em tantas vagas diferentes, devido à sua importância no mercado.
Eu e o Igor te acompanharemos nesse processo e incentivamos que você faça todas as atividades e "Para saber mais". Nós desenvolvemos tudo com muito carinho para que você chegue ao final e tenha habilidade para trabalhar com Airflow dentro de um projeto.
Igor: Vamos lá?!
Daniel: Eu e Igor fazemos parte de uma equipe de engenharia de dados e agora estamos recebendo você! Temos um projeto em mãos e vamos trabalhar juntos nele. Neste projeto, precisamos nos conectar às redes sociais, em especial, ao Twitter. Nós extrairemos alguns tweets que contenham palavras da nossa área de interesse.
A empresa quer entender como as pessoas estão reagindo em relação a alguns termos, o que estão comentando nas redes sociais, por isso, vamos extrair os tweets e armazená-los. Com isso, a pessoa cientista de dados terá acesso aos dados e poderá traçar análises e modelos.
Nós poderíamos disponibilizar um de nós para ficar focado nessa tarefa. O que você acha, Igor?
Igor: É uma boa ideia, Dani, mas, isso pode gerar alguns problemas.
Por exemplo, em relação ao script, podemos usar um Scheduler, então, alguém fica responsável por programar um Scheduler que vai rodar diariamente o código. Esse código extrai os dados do twitter e disponibiliza em um arquivo para a pessoa cientista de dados.
O problema é que no dia em que o código não rodar por algum motivo, teremos um log? A pessoal responsável será informada? A cientista de dados conseguirá saber se está tudo bem com os dados? Se eles são confiáveis? Não garantimos isso com uma pessoa responsável, usando apenas um Scheduler.
E se a tarefa ficar mais complexa? Se for necessário fazer a extração de outras fontes de dados e transformações nesses dados que foram extraídos para um script? Uma pessoa só responsável por essa tarefa pode não ser suficiente. Aparentemente, a solução manual não vai resolver.
Daniel: Talvez devêssemos pensar em algum software que deixasse esse processo um pouco mais automático. Você já trabalhou com alguma ferramenta que poderia nos ajudar nessa solução?
Igor: Já trabalhei sim, Dani! Tive a experiência de utilizar um orquestrador de tarefas. A ferramenta mais utilizada no mercado atualmente é o Airflow.
O Airflow ajuda na resolução, justamente, desse tipo de problema: temos algumas tarefas para resolver no nosso pipeline de dados, isto é, no percurso que os nossos dados estão fazendo e podemos programá-lo para realizar essas tarefas, desde a extração de dados do twitter à disponibilização dos dados em um arquivo.
Além disso, o Aiflow se ocupará de todos os problemas que levantamos até agora, por exemplo, gerar logs, adicionar tarefas no pipeline, ou rodar o código. Portanto, essa é uma ferramenta que foi pensada para o problema que estamos tentando resolver.
Daniel: Gostei, Igor! Estou animado! Mas, acho que podemos detalhar um pouco mais o conceito de data pipeline e também de Airflow. Vamos fazer isso no próximo vídeo?
Igor: Vamos lá!!
Igor: Dani, gostaria de entender um pouco mais sobre o data pipeline. Você consegue explicar para mim?
Daniel: Sim! Vamos dividir a palavra para compreendê-la por completo. Em tradução livre, pipeline seria encanamento e data, dados. Um data pipeline nada mais é que um "encanamento", ou seja, uma série de processos sucessivos que acontecem no processamento de dados.
A partir da analogia com o "encanamento", podemos pensar que, onde termina um processo, nós "encaixamos", como se fosse um cano, outro processo. Esses processos podem ser de todos os tipos.
Por exemplo, podemos extrair os dados e armazená-los em um Data Lake ou Data Warehouse. Outra situação é pegar informações de um banco de dados e levar até uma aplicação financeira ou de outro tipo. Enfim, existem muitas possibilidades de trabalho com o data pipeline.
Igor: Muito legal, Dani! As etapas do data pipeline que você descreveu me lembraram do ETL: Extract, de extração; Transform, de transformação; e Load, de carregamento. O ELT é o processo de pegar os dados de uma fonte, fazer uma transformação neles e disponibilizá-los na etapa de Load.
Apesar de os processo de data pipeline e ETL terem algumas semelhanças, o ETL faz parte de um data pipeline. Portanto, está inserido em um contexto de data pipeline, mas possui algumas etapas a mais que pode exercer.
Por exemplo, é possível incluir uma etapa de machine learning, isto é, fazer transformações nos dados focadas no modelo de machine learning. O data pipeline consegue englobar a parte do ETL e trazer novas funções.
Outra característica é o Batch de dados: Processamento de grandes volumes de dados. Por exemplo, no ETL, normalmente pegamos um pacote de dados, transformamos e disponibilizamos. Em um data pipeline, é possível que esse fluxo seja contínuo, pensando na analogia dos canos outra vez.
Portanto, temos um fluxo contínuo de dados, como se a água estivesse passando continuamente pelos canos, e o data pipeline precisa conseguir manipular esses dados, dirigindo-os para uma ponte específica ou transformando-os.
Daniel: Para finalizar a nossa analogia, podemos pensar que:
o encanamento é o data pipeline;
a água que passa dentro do encanamento é o fluxo de dados;
nós, engenheiras e engenheiros de dados, somos encanadores, ou seja, os responsáveis por dizer como ligar um processo ao outro.
Gostaria que tivéssemos isso em mente durante todo o projeto, entendendo que sempre estamos buscando desenvolver um data pipeline que seja mais interessante, que funcione de maneira automática, para que o nosso projeto de extração dos tweets fique cada vez melhor.
Igor: Concordo, Dani. Fiquei bem mais confortável em relação ao funcionamento de um data pipeline e como o Airflow, o orquestrador, vai fazer tudo funcionar. Nosso próximo passo é entender melhor a base de dados, isto é, nossa fonte de dados, que serão os tweets recolhidos do Twitter. Vamos analisar isso?
O curso Apache Airflow: extração de dados possui 198 minutos de vídeos, em um total de 59 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.