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

Gerenciando Expectativas: Validando a qualidade de dados de pipelines com Great Expectations e airflow

Gerenciando Expectativas: Validando a qualidade de dados de pipelines com Great Expectations e airflow

Palestra apresentada na Python Nordeste 2023

Mayara Machado

September 25, 2023
Tweet

More Decks by Mayara Machado

Other Decks in Technology

Transcript

  1. GERENCIANDO EXPECTATIVAS VALIDANDO A QUALIDADE DE DADOS DE PIPELINES COM

    GREAT EXPECTATIONS E AIRFLOW PYTHON NORDESTE 2023
  2. Olá, eu sou Mayara Formada em Sistemas de Informação pela

    Universidade Federal de Sergipe, sou uma pythonista e entusiasta da área de dados. Já atuou como Software Developer e atualmente atua como Data Engineer no Mercado Livre. Participa da comunidade PyLadies Sergipe, tenho um cacto chamado Godofredo, ama uma boa pizza e dançar forró.
  3. O QUE É UMA PIPELINE DE DADOS Um conjunto de

    etapas que realizam tarefas de processamento de dados para preparar esses tais dados e deixá-los prontos para que possam ser utilizados em análises ou em outros processos. Então, podemos visualizar dados brutos, resultantes de processos operacionais, que por si só são inúteis. Precisamos filtrar, transformar, agrupar, mover, etc. para que esses dados possam ser utilizados para análises. Do começo
  4. 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.
  5. Dados sem qualidade podem custar caro! Dados de baixa qualidade

    frequentemente são apontados como causas de análises imprecisas e estratégias de negócios mal concebidas.
  6. 41% DOS PROFISSIONAIS DE DADOS INDICARAM QUE SUAS ORGANIZAÇÕES NÃO

    TINHAM QUALIDADE DE DADOS ATIVA Fonte: First State of Data Quality Report uncovers a divided house - Great Expectation, 25 de janeiro de 2023. REPORTE ESTADO DA QUALIDADE DE DADOS 2022
  7. AS 6 DIMENSÕES DA QUALIDADE DE DADOS Acurácia 01 Consitência

    02 Completude 03 Atemporal 04 Unicidade 05 VALIDADE 06
  8. Fonte: Great Expectations Doc Apresentando Great Expectations Great Expectations é

    a ferramenta para validar, documentar e criar profiling dos seus dados para manter a qualidade e melhorar a comunicação entre equipes.
  9. COMPONENTES GREAT EXPECTATIONS Data Context Datasources Expectations Checkpoints Gerencia as

    configurações e metadados de um projeto GX e fornece um ponto de entrada para a API GX Python. Conecta-se aos dados de origem e organiza os dados recuperados para uso futuro. Identifica os padrões aos quais seus dados devem estar em conformidade Valida um conjunto de expectativas em relação a um conjunto específico de dados.
  10. Data contexts Data Docs: documentação legível gerada por humanos. Stores:

    armazena informações de como o great expectations deve validar dados e credenciais usadas para acessar fontes de dados ou ambientes remotos. Um Data Context gerencia as configurações e metadados.
  11. Datasources Pode ser arquivos em folders, base de dados SQL,

    serviços de Cloud, etc. Batches: são subconjuntos exclusivos de registros em um Data Assets. Data Assets: são coleções de registros dentro de um Datasource
  12. Expectations É uma afirmação verificável sobre os dados. Uma biblioteca

    bult-in com mais de 50 expectativas comuns e também tem a possibilidade de criar Expectativas personalizadas se precisar de uma mais especializada para validação de dados Você pode definir vários Expectation Suites para os mesmos dados para cobrir diferentes casos de uso. Ex.: expect_column_values_to_not_be_null
  13. Checkpoints Fornecem uma abstração para agrupar um ou mais batches

    de dados com um conjunto de expectativas e, em seguida, executar essas expectativas nos dados emparelhados Você também pode definir ações a serem feitas ao final da validação. ex,: Enviar email. enviar mensagem no slack, Os resultados das validações podem ser vistas no Great Expectation Docs gerado.
  14. AIRFLOW PROVIDERS Providers são fontes que podem conter operadores, hooks,

    sensores e operadores de transferência para se comunicarem com uma infinidade de sistemas externos, mas também podem estender o núcleo do Airflow com novos recursos.
  15. APACHE AIRFLOW PROVIDER PARA GREAT EXPECTATIONS Um path para um

    diretório no qual uma configuração, DataContext, baseada em yaml está localizada Um Great Expectations DataContextConfig objeto O nome de um Checkpoint já localizado no Checkpoint Store do DataContext especificado Um objeto CheckpointConfig de Great Expectation O operador requer a execução de um DataContext que pode ser especificado como: 1. 2. Adicionalmente, um Checkpoint pode ser fornecido, que pode ser especificado como: 1. 2. CONSIDERAÇÕES