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())