Este repositório contém a solução para os desafios práticos de Engenharia de Dados propostos pelo restaurante Coco Bambu. Os desafios envolvem modelagem e estruturação de dados, ingestão em data lakes, criação de pipelines escaláveis e análise de grandes volumes de dados.
As seguintes tecnologias e ferramentas foram utilizadas para a implementação do projeto:
- Python: Linguagem principal para os scripts e processamento.
- PySpark: Para ingestão e transformação de grandes volumes de dados.
- SQL: Modelagem do Data Lake e consultas analíticas.
- MySQL: Banco de dados relacional para armazenar os dados estruturados.
- JSON: Formato de armazenamento de dados no Data Lake.
.
├── data_lake/ # Diretório do Data Lake
│ ├── store_id=1/
│ │ ├── bus_dt=2024-01-01/
│ │ │ ├── detail_lines.json
│ │ │ ├── detail_metadata.json
│ │ │ ├── fato_pedidos.json
│ │ │ ├── dim_lojas.json
│ │ │ ├── dim_datas.json
│ │ │ └── dim_itens.json
├── scripts/ # Scripts Python
│ ├── ingestion.py # Código de ingestão com PySpark
│ ├── transformation.sql # Queries SQL para transformação
│ └── validation.py # Scripts para validação do esquema
├── diagrams/ # Diagramas do modelo de dados
├── README.md # Documentação do repositório
└── requirements.txt # Dependências do projeto
O modelo de dados foi desenvolvido seguindo as melhores práticas de modelagem dimensional. Ele é composto por:
Fato: fato_pedidos com dados financeiros do pedido.
Dimensões:
dim_lojas para dados das lojas.
dim_itens para itens do cardápio.
dim_datas para datas.
detail_lines e detail_metadata para granularidade das linhas do pedido.
O fluxo de dados foi implementado para atender os seguintes passos:
Extração: Dados recebidos via API no formato JSON.
Ingestão: Armazenamento dos arquivos no Data Lake, organizados por loja e data.
Transformação: Estruturas transformadas e carregadas no banco de dados relacional.
Validação: Scripts de validação garantem a integridade e consistência dos dados.
Docker: Para criar os containers necessários.
Spark: Para processamento dos dados.
Python: Para execução dos scripts.
git clone https://github.com/igorferrer-data/desafio-coco-bambu.git
cd desafio-coco-bambu
pip install -r requirements.txt
python scripts/ingestion.py
Link: https://kanbanflow.com/board/LmUzZ6r

- Nome: Igor Ferrer
- LinkedIn: Seu Perfil
- E-mail: igori83@gmail.com
