Esse projeto foi criado para fazer uso da ferramenta MySQL-Utilities. Nesse projeto, temos a criação e população de um servidor de banco de dados MySQL, bem como a instalação da ferramenta que irá dar auxilio na gerência desse servidor.
- 📦DevContainers
- 🐋Docker
- 🐍Python
- Pandas
- PyMySQL
- SQLAlchemy
💡Atenção
É necessário o uso da ferramenta Docker com a extensão DevContainers, do VSCode.
O processo de instalação de ambiente é todo automatizado pelo container de desenvolvimento, junto do arquivo
prepare_env.sh
que será executado assim que o container for criado.
O projeto conta com alguns scripts que automatizam a subida de um servidor MySQL em um container Docker.
O processo irá carregar o arquivo em um dataframe, fazendo inferência automática de todas as colunas. Será feita uma conexão ao servidor de base de dados levantado pelo container docker, que está configurado no projeto e, então, criada uma base de dados "movie" para que a tabela "movies" seja escrita.
Antes de iniciar o banco, primeiro você precisa criar uma network no docker para que o devcontainer possa se comunicar com o container onde está o mysql server, levando consideração que você está utilizando o SO Windows para executar os scripts .bat
:
cd database/utilities-within-mysql
create_docker_shared_network.bat
E, finalmente, para iniciar o banco basta executar:
cd database/utilities-within-mysql
start_container.bat
Para finalizar, basta executar:
cd database/utilities-within-mysql
stop_container.bat
💡
O projeto conta com scripts de iniciação e finalização limpas:
cd database/utilities-within-mysql
start_container_CLEAN.bat
cd database/utilities-within-mysql
stop_container_CLEAN.bat
As dependências de desenvolvimento estão dentro do arquivo requirements.txt
, que tem sua leitura automatizada assim que o container de desenvolvimento é construído.
💡
Caso, após a criação da venv, o sistema não ative automaticamente a venv você pode executar
'. prepare_env.sh'
novamente, diretamente pelo console, ou, você pode navegar até'cd python_venv/bin'
e executar'source activate'
ou'. activate'
.
Para executar o processo ETL, você precisa, antes, iniciar o dev container, pelo plugin devcontainers.
Uma vez no container, os plugins do container serão instalados, bem como as dependências python, já automatizadas pelo script prepare_env.sh
.
Com isso, basta executar as células do notebook jupyter main.ipynb
e voilá.
Distribuído sob a MIT License. Veja LICENSE
para mais informações.