Armazenamento de dados MYSQL com Python

Autor: Matheus Gorito


Fala pessoal, tudo bem?


Nesse artigo vamos tratar de uma das etapas mais importantes do processo de criação de modelos analíticos: a armazenagem de dados. Abordaremos alguns conceitos básicos de banco de dados e aplicaremos o conhecimento utilizando o banco de dados MySQL e linguagem Python. O e-book Machine Learning Engineering do Andriy Burkov será utilizado como base do nosso texto.

Antes de qualquer atividade de machine learning começar, precisamos que o dados sejam coletados e disponibilizados, tanto para um Analista de BI (Business Intelligence) quanto para um Cientista de Dados. Essa etapa é de suma importância, pois é ela que fornece as estruturas para que um projeto de Machine Learning seja possível.

O conceito que iremos tratar no artigo é o de DW (Data Warehouse), que é essencialmente um banco de dados utilizado para armazenar informações relativas às atividades de uma organização de forma consolidada.

Nesse artigo iremos construir um pequeno DW utilizando o MYSQL como Sistema de Gerenciamento de Banco de Dados (SGBD).

MYSQL é um dos mais populares SGBDs do mercado, é open source e possui muitas funcionalidades que permitem a criação de um DW de forma rápida e confiável. Nesse artigo não nos aprofundaremos nos conceitos de banco de dados.




Definições e mais detalhes estarão descritos no nosso e-book sobre Armazenamento de Dados Financeiros que será lançado em breve. Aguardem!





Iremos utilizar a linguagem Python para trabalharmos com nosso DW de uma forma mais amigável acessível. Caso tenha dúvidas em Python conheça nosso e-book Introdução ao Python Para Análise de Dados Financeiros, ou consulte os cursos que vamos oferecer.



Nossa próxima etapa é escolher um conjunto de dados para armazenarmos no nosso DW.


No nosso exemplo, iremos utilizar uma base de dados sobre um ativo financeiro que tem visto sua procura aumentar muito no último ano, os Fundos Imobiliários.


Disponibilizaremos nosso arquivo na aba "Dados" do nosso site, caso o leitor tenha interesse em replicar nosso exemplo. Você pode acessá-la clicando aqui



Ao analisarmos o resultado do anterior, podemos verificar o tipo de cada variável (dtype) presente nos nossos dados. Essa informação é muito importante, pois conhecer o tipo de variável facilita a carga dos dados no nosso DW.

Conexão

Como vamos utilizar o Python no projeto, o primeiro passo que devemos fazer é criar uma conexão entre nosso Jupyter e nosso DW.

Essa conexão nos permite manipular o nosso DW de uma forma mais simples e nos possibilita usar o poder da linguagem Python ao nosso favor. Para iniciarmos uma conexão precisamos de:

  • usuário para conectar no DW;

  • senha desse usuário;

  • host do DW, ou seja, o endereço onde está localizado nosso DW;

  • schema onde vamos criar nossa tabela.

Não se assuste com algumas terminologias, em breve teremos nosso e-book onde explicaremos em detalhes todos os conceito que envolvem a criação de um DW. Por hora, vamos entender como fazer a carga dos dados em um DW via Python.

Aqui, criamos uma variável que vai receber nossa conexão, criada através da classe que definimos anteriormente.

Por questões didáticas, deixamos a senha do usuário do nosso DW visível. Recomendamos que para uma aplicação voltada aos negócios a senha esteja sempre invisível ao usuário.



Carregando os dados

Com nossa conexão estabelecida, podemos carregar nossos dados diretamente para uma tabela do nosso DW. Os dados podem ser inseridos em um DW de duas formas:

  • Linha a linha;

  • Todos de uma vez, o chamado bulk insert.

No nosso exemplo vamos nos utilizar da técnica de bulk insert, pois facilitará nossa inserção de dados.

Antes de inserirmos, definimos o nome da tabela a ser criada.



Aqui podemos ver o DataFrame gerado pelo nossa query.



No próximo artigo, vamos mostrar o que acontece se quisermos inserir mais dados em uma tabela que já existe e além disso, como fazer a inserção de dados linha por linha.


Fiquem de olho!

Copyright © 2020 Trading com Dados Ltda.