Back

Fontes de dados

As fontes de dados são os pontos de partida onde os dados são coletados antes de serem processados. Aqui estão algumas das principais fontes de dados que você pode encontrar em um pipeline de dados:

1. Bancos de dados relacionais

Bancos de dados relacionais armazenam dados em tabelas com relações entre elas. Exemplos incluem MySQL, PostgreSQL e SQL Server.

Exemplo de uso: Coletar dados de vendas de um banco de dados SQL para análise de desempenho de vendas.

from sqlalchemy import create_engine 
import pandas as pd 

# Conexão com o banco de dados 
engine = create_engine('mysql+pymysql://user:password@host/dbname')  

# Consulta SQL 
query = 'SELECT * FROM vendas'  

# Carregar dados em um DataFrame 
df = pd.read_sql(query, engine) print(df.head())

2. Bancos de dados NoSQL

Bancos de dados NoSQL armazenam dados de maneira não relacional, como documentos, grafos ou colunas. Exemplos incluem MongoDB e Cassandra.

Exemplo de uso: Recuperar dados de usuários de um banco de dados MongoDB para análise de comportamento de usuários.

from pymongo import MongoClient  

# Conexão com o MongoDB 
client = MongoClient('mongodb://localhost:27017/') 
db = client['meu_banco'] 
collection = db['usuarios']  

# Recuperar dados 
dados = collection.find() 
for documento in dados:     
    print(documento)

3. Arquivos CSV e Excel

Arquivos CSV e Excel são formatos comuns para armazenar dados tabulares. Eles são amplamente usados para exportação e importação de dados.

Exemplo de uso: Ler dados de um arquivo CSV para análise de dados financeiros.

import pandas as pd  

# Ler dados de um arquivo CSV 
df_csv = pd.read_csv('dados_financeiros.csv') 
print(df_csv.head())  

# Ler dados de um arquivo Excel 
df_excel = pd.read_excel('dados_financeiros.xlsx') 
print(df_excel.head())

4. APIs (Application Programming Interfaces)

APIs são interfaces que permitem a comunicação entre diferentes sistemas. Muitas APIs fornecem dados em formatos como JSON ou XML. Você pode ler mais sobre APIs nesse link

Exemplo de uso: Obter dados de clima de uma API meteorológica para análise de tendências climáticas.

import requests 

# URL da API 
url = 'https://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=London'  

# Requisição GET 
response = requests.get(url) 
dados = response.json()  

# Exibir dados 
print(dados)

5. Sistemas de Armazenamento em Nuvem

Serviços de armazenamento em nuvem como AWS S3, Google Cloud Storage e Azure Blob Storage permitem armazenar e acessar grandes volumes de dados.

Exemplo de uso: Carregar dados de logs armazenados em um bucket S3 para análise.

import boto3 
import pandas as pd  

# Conexão com o S3 
s3 = boto3.client('s3') 
bucket_name = 'meu-bucket' 
file_key = 'logs/dados_logs.csv'  

# Baixar arquivo do S3 
s3.download_file(bucket_name, file_key, 'dados_logs.csv')  

# Ler dados com pandas 
df = pd.read_csv('dados_logs.csv') 
print(df.head())

6. Serviços de Streaming de Dados

Plataformas de streaming, como Apache Kafka e AWS Kinesis, permitem processar dados em tempo real.

Exemplo de uso: Processar dados de eventos em tempo real para análise de logs de acesso.

from kafka import KafkaConsumer  

# Configuração do consumer 
Kafka consumer = KafkaConsumer('meu-topico', bootstrap_servers='localhost:9092')  

# Consumir mensagens 
for mensagem in consumer:    
    print(mensagem.value)

7. Web Scraping

Descrição: Web scraping é a prática de extrair dados de sites da web. Ferramentas como BeautifulSoup e Scrapy são usadas para isso.

Exemplo de Uso: Extrair dados de preços de produtos de um site de e-commerce para análise de mercado.

import requests from bs4 
import BeautifulSoup  

# URL do site 
url = 'https://www.example.com/produtos'  

# Requisição 
GET response = requests.get(url) 
soup = BeautifulSoup(response.text, 'html.parser')  

# Extrair dados 
for produto in soup.find_all(class_='preco'):    
    print(produto.get_text())