Skip to content

JhArantes/Pipeline-ETL-AwesomeAPI-to-PostgreSQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

💸 Pipeline ETL Mercado Fianceiro: AwesomeAPI to PostgreSQL

Python Pandas PostgreSQL

Este repositório contém um pipeline de ETL (Extract, Transform, Load) focado no mercado financeiro. O projeto extrai cotações em tempo real de moedas e criptoativos, realiza o tratamento dos dados e os armazena de forma persistente em um banco de dados relacional PostgreSQL.


🚀 O Pipeline de Dados

O projeto segue as três fases clássicas da Engenharia de Dados:

1. Extração (Extract)

A captura dos dados é feita via AwesomeAPI, utilizando a biblioteca requests. Os dados retornam em formato JSON, contendo informações de câmbio para USD, EUR e BTC.

2. Transformação (Transform)

Nesta fase, utilizamos o Pandas para limpar e tipar os dados corretamente:

  • Tipagem Numérica: Conversão de strings para float.
  • Limpeza de Atributos: Remoção de colunas redundantes (high, low, bid, ask).
  • Normalização: Ajuste de colunas para minúsculo para compatibilidade com PostgreSQL.
  • Cálculo de Valor Médio: Criação da coluna valor baseada na média entre o máximo e mínimo.

3. Carga (Load)

A carga é realizada através da integração entre Pandas e SQLAlchemy. O motor de conexão envia o DataFrame tratado diretamente para uma tabela no PostgreSQL.


🛠️ Tecnologias e Bibliotecas

  • Python 3.12+
  • Pandas: Processamento e manipulação de DataFrames.
  • Requests: Interface HTTP para consumo de API.
  • SQLAlchemy: Toolkit SQL para conexão com o banco.
  • Psycopg2: Driver oficial do PostgreSQL.

📊 Estrutura da Tabela Final

Coluna Tipo SQL Descrição
code VARCHAR Sigla da moeda (ex: USD)
codein VARCHAR Moeda de destino (ex: BRL)
pctchange DECIMAL Variação percentual do dia
timestamp BIGINT Unix Timestamp do registro
create_date TIMESTAMP Data e hora formatada
valor DECIMAL Preço médio (2 casas decimais)

⚙️ Como executar

  1. Certifique-se de ter o PostgreSQL rodando localmente.

  2. Instale as dependências:

    pip install pandas requests sqlalchemy psycopg2
  3. Configure sua string de conexão no script.

  4. Execute o script para popular seu banco de dados.

📌 Desenvolvido por JoaoH como parte de estudos em Engenharia de Dados.

About

Um ETL completo iniciando com API de dados do mercado financeiro aplicando transformação e carregando em um banco de dados Postgres

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors