PetitGato
O PetitGato é um sistema desenvolvido para gerenciar uma cafeteria temática com gatos. A cafeteria permite que os clientes desfrutem de uma boa xícara de café enquanto interagem com gatos. Este documento fornece uma visão geral do projeto, seus objetivos e suas principais funcionalidades.
Documentação
As instruções contidas na Documentação do Mkdocs permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fins de desenvolvimento e teste.
Desenho de Arquitetura
Ferramentas utilizadas
- SQL Server - Armazenamento de dados
- Python - Criação de scripts
- Terrafom - Gerenciamento de infraestrutura
- Databriks - Ingestão de dados/Orquestração de Fluxos de Trabalho/Processamento Distribuído de Dados
- Azure - Persistência em Object Storage
- Power BI - Visualização e Análise dos Dados Processados
- MkDocs - Documentação
Aplicação
1. Gerenciamento de Fluxo de Trabalho com Databricks Airflow:
- O Databricks Airflow é nossa plataforma principal para gerenciamento de fluxo de trabalho, orquestrando todas as tarefas dentro de nossa pipeline de dados. Ele lida com as transformações necessárias até a disponibilização dos dados em uma interface de análise.
2. Geração de Dados Sintéticos com Faker:
- A massa de dados será gerada utilizando a biblioteca Faker, que permite criar dados sintéticos realistas para simulações e testes.
3. Armazenamento de Dados no SQL Server:
- Os dados gerados serão armazenados em um banco de dados SQL Server, utilizando scripts Python para inserção e manipulação dos dados.
4. Processamento de Dados com Spark no Databricks:
- No Databricks, utilizamos Spark em conjunto com Airflow para ler e manipular os dados armazenados no SQL Server. Esses dados serão extraídos e transformados em arquivos CSV.
5. Persistência de Dados no Azure Object Storage:
- O Azure é utilizado para a persistência dos dados, armazenando-os no Object Storage, garantindo durabilidade e escalabilidade.
6. Camadas de Dados:
- Landing Zone:
- Nesta camada, os dados serão extraídos do SQL Server e persistidos em seu formato bruto, em arquivos CSV.
- Camada Bronze:
- Os dados serão extraídos da Landing Zone, e colunas de metadados serão adicionadas. As alterações serão persistidas na camada Bronze, utilizando o formato Parquet.
- Camada Silver:
- Os dados da camada Bronze serão extraídos, e novas colunas de metadados serão criadas. Os nomes das colunas serão padronizados e traduzidos. As alterações serão salvas na camada Silver, também no formato Parquet.
- Camada Gold:
- Nesta camada, serão criadas as tabelas de dimensões e fatos, otimizadas para análise e relatórios.
7. Visualização de Dados com Power BI:
- O Power BI será utilizado para a apresentação dos dados, permitindo a criação de dashboards interativos para análise e tomada de decisão.
Autores
Você também pode consultar todos os colaboradores aqui.
Referências
CHATGPT
Documentação - Faker
Repositório - Faker
Datastore Classe
Proof of concept connecting to SQL using pyodbc
Miscellaneous operating system interfaces