Ir para o conteúdo

Projeto de Engenharia de Dados UniSATC (projeto_ed_satc)

Bem-vindo à documentação do pacote Python projeto_ed_satc! Este pacote constitui o coração do nosso projeto de engenharia de dados, encapsulando a lógica central para ingestão, processamento e transformação de dados, bem como a orquestração de pipelines. Ele foi desenvolvido para ser modular, eficiente e escalável, utilizando tecnologias como PySpark (via Databricks) e integração com o Azure Data Lake Storage.

Aqui você encontrará detalhes sobre os principais componentes de código que impulsionam o pipeline de dados:


Script ELT: MongoDB para Azure Data Lake Storage

Esta seção documenta o script Python (injector.py) responsável pela rotina de Extração, Carga e Transformação (ELT) de dados de um banco de dados MongoDB para o Azure Data Lake Storage Gen2 (ADLS Gen2). Este script é crucial para integrar dados NoSQL, que muitas vezes possuem esquemas flexíveis e aninhados, ao nosso ambiente de Data Lake estruturado, tornando-os acessíveis para análise e processamento subsequente por ferramentas como Databricks ou Power BI.

A documentação detalha: * Pré-requisitos: Bibliotecas Python necessárias e configurações de ambiente para conexão segura. * Lógica de funcionamento: Como o script se conecta ao MongoDB, extrai os dados, realiza transformações básicas e os carrega no ADLS em formatos otimizados para análise. * Variáveis de ambiente: Parâmetros de configuração essenciais para a execução segura e flexível do script.

Este script garante que os dados NoSQL do nosso ambiente sejam ingeridos de forma eficiente e estruturada para o Data Lake, superando os desafios de integração de dados semi-estruturados e não relacionais.

Acesse a documentação detalhada do script ELT MongoDB aqui.


☁️ Notebooks Databricks: Pipeline de Dados Lakehouse

Esta seção abrange a documentação dos notebooks PySpark executados no ambiente Databricks, que implementam as camadas do nosso pipeline de dados Lakehouse. O Databricks, com o Delta Lake como formato de armazenamento padrão, permite a construção de uma arquitetura Lakehouse que combina a flexibilidade e escalabilidade de um Data Lake com a confiabilidade, performance e recursos de transação (ACID) de um Data Warehouse tradicional. Isso inclui operações como UPSERT, DELETE, MERGE e time travel.

Explicamos o papel de cada notebook (Bronze, Silver, Gold) na transformação e curadoria dos dados: * Bronze Layer: Responsável pela ingestão de dados brutos (raw data) de diversas fontes. * Silver Layer: Foca no refinamento e limpeza dos dados, aplicando transformações e validações. * Gold Layer: Camada de curadoria e agregação, onde os dados são transformados em modelos de dados otimizados para consumo analítico.

É aqui que a magia do processamento de dados acontece, transformando dados brutos em insights valiosos e estruturados, prontos para serem consumidos por aplicações e usuários de negócios, aproveitando a capacidade de processamento distribuído do Apache Spark no Databricks.

Acesse a documentação detalhada dos Notebooks Databricks aqui.