POC para criação de um Data Lake para o desafio
É necessário ter instalados na máquina o Docker e Python 3.
Como a ingestão de dados envolvia apenas dados estruturados, optei por utilizar o spark como framework de etl por ter muita familiaridade com a linguagem Python, o desenvolvimento do projeto foi feito utilizando Spark SQL.
- Abrir o terminal/CMD na pasta raiz;
- Executar
docker-compose up -d
no diretório onde o arquivo Dockerfile se encontra; - Executar
pip install -r requirements.txt
- Avaliar se os serviços já estão disponíveis no contêiner;
- Executar
python3 runner.py {caminho_onde_salvar_csv_sem_aspas}
Após seguir essas etapas, o script irá provisionar um cluster Spark, com um Worker , e o banco de dados MySQL, que irá ser preenchido com os dados iniciais.
O script runner.py
irá se conectar com o banco através do Spark e executar o cruzamento das tabelas em formato de DF para agregar em um único arquivo flat.