Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PYBR 2021 - Usando Airflow para orquestrar sua ETL.

PYBR 2021 - Usando Airflow para orquestrar sua ETL.

Mayara Machado

October 10, 2021
Tweet

More Decks by Mayara Machado

Other Decks in Technology

Transcript

  1. Usando Airflow para orquestrar sua ETL. Python Brasil 12 de

    Outubro 2021 www.2021.pythonbrasil.org.br
  2. Sobre mim Olá, sou Mayara! Data Engineer no Mercado Livre.

    Formada em Sistemas de Informação pela UFS, participante da PyLadies Sergipe, pythonista e entusiasta da área de Dados. /mayaramachado /in/mayaramachado
  3. Agenda O que abordaremos: Introdução Mas afinal, o que é

    o ETL? Airflow? Nunca ouvi falar. Definindo pipelines com Airflow. Próximos passos
  4. Introdução Automatizar processos de dados que realizam movimentação dado uma

    origem. Ex.: ingestão e processamento de base de dados, consumo de APIs, geração de reportes, migração de dados. Pipeline de dados também são software com especificação para os diversos cenários de dados. Por isso, também podemos utilizar os conhecimentos da Engenharia de Software para desempenhar pipelines.
  5. 1 2 3 Definir o processo de carga dos dados

    transformados no Postgres. O que faremos hoje Iremos explorar formas de orquestrar pipelines de ETL utilizando o Airflow. Definir a task de ingestão para consumir a API de Rick and Morty. Definir task para transformação usando PySpark.
  6. Extract - Transform - Load Processo que realiza a movimentação

    de dados a partir da extração em uma origem, realiza transformação desse dado e por fim carrega os valores em uma base de dados,
  7. Pipelines de dados Processo ponta-a-ponta de movimentação de dados. Esses

    processos incluem a copia de dados, transferência de dados armazenados na nuvem e combinação com outras fontes de dados. É uma terminologia mais geral que engloba ETL e outros tipos de processos de movimentação de dados. Data Pipeline Fonte Destino
  8. "Configuration as code" Airflow é uma ferramenta open-source para criação,

    agendamento e monitoração de workflows. Criada no AirBnb, o Airflow é uma ferramenta escrita em Python, que permite a criação de workflows a partir de Python scripts. Em 2016 se tornou um projeto da Apache Foundation.
  9. Dags São grafos acíclicos onde todas as tarefas a serem

    executadas são estruturadas refletindo suas dependências e relacionamentos.
  10. Conceitos Representam uma task no Airflow, definem uma forma de

    integrar com outras ferramentas a partir do Airflow. Operadores É um tipo especial de Operador que aguarda algum trigger (interno ou externo) para iniciar a execução da task. Sensores Provém a interface com a qual os operadores utilizaram para se comunicar com serviços externos ao Airflow. Hooks
  11. O que é Orquestrador de execução de tarefas em uma

    pipeline. O que não é Uma ferramenta para processar dados.
  12. Outros conceitos 1 2 3 4 Xcom : 'cross-communications', são

    uma forma de passar valores entre tasks. Podem receber qualquer valor, mas atenção, não utilizar para grande quantidade de dados. Upstream e Downstream: define os relacionamentos entre as tasks. Podem ser definidos com set_upstream() e set_downstream() ou operadores << e >>. Variáveis: uma forma genérica de armazenar e obter valores e configurações no formato chave- valor. Connections: uma forma de armazenar credenciais utilizados na comunicação com serviços externos ao Airflow. Use Airflow + crypto para maior segurança no armazenamento de credenciais.
  13. Definir as credenciais que iremos usar: As informações HTTP para

    a API, as credenciais do Postgres e informação de conexão com o cluster Spark. Passos Definiremos o Operator que irá fazer as requisições HTTP, consumir a nossa Fonte. Definiremos o Operators para processar um job PySpark para transformação e carga. 1 2 3
  14. Definindo Connections Extraindo os valores Connections Através das Conexões podemos

    definir credenciais para os serviços externos que iremos integrar.