Data Engineering · ETL Pipeline

Netflix
Data Pipeline

Pipeline ETL de classe empresarial para processamento e análise profunda do catálogo Netflix. Arquitetura modular, escalável e pronta para produção.

Títulos Processados

8,807títulos

Filmes

6,131

69.6% do catálogo

Séries

2,676

30.4% do catálogo

Features

32

engenheiradas

Países

123

cobertura global

Fluxo do Pipeline

Cada etapa foi projetada para máxima resiliência, observabilidade e performance em ambiente de produção.

📁1

Extract

Leitura & Validação

🧹2

Clean

Nulos & Normalização

⚙️3

Transform

Feature Engineering

💾4

Load

PostgreSQL Bulk

📊5

Analyze

Dashboards & KPIs

📋6

Report

Insights Auto

Stack Técnico

Ferramentas de produção escolhidas pela robustez, escalabilidade e ecossistema maduro.

🐍

Python 3.8+

Core

🐼

Pandas

Processamento

🔢

NumPy

Computação

🐘

PostgreSQL

Database

🔗

SQLAlchemy

ORM

📈

Plotly

Visualização

🎨

Seaborn

Visualização

🐳

Docker

DevOps

📝

Loguru

Observabilidade

Insights Principais

Padrões descobertos durante a análise do catálogo Netflix de 8.807 títulos.

36%

Dominância Americana

EUA lidera com 36% do conteúdo total, sinalizando estratégia de mercado fortemente focada na produção doméstica.

70%

Crescimento Pós-2015

70% de todo o catálogo foi adicionado após 2015, revelando expansão acelerada no período de digitalização global.

123

Países Representados

Conteúdo proveniente de 123 países distintos demonstra o alcance verdadeiramente global da plataforma.

69.6%

Preferência por Filmes

Filmes dominam com 69.6% do catálogo, indicando o modelo de consumo preferido pelo público da plataforma.

18%

Gênero Dominante: Drama

Dramas representam 18% do catálogo, confirmando a preferência por narrativas profundas e emocionalmente ricas.

42

Gêneros Únicos

42 categorias de gênero distintas catalogadas, evidenciando a diversidade e amplitude da estratégia de conteúdo.

Código em Ação

API limpa e expressiva. Do raw CSV a insights em poucas linhas.

# Pipeline completo em Python
from src.extract import extract_netflix_data
from src.transform import transform_netflix_data
from src.load import load_to_postgres
from src.visualizations import generate_all_visualizations

def run_analysis():
    # ── Extract ──────────────────────────────────
    raw_data = extract_netflix_data()
    print(f"✅ Extraídos {len(raw_data)} registros")

    # ── Transform ─────────────────────────────────
    clean_data = transform_netflix_data(raw_data)
    print(f"⚙️  {clean_data.shape[1]} features engenheiradas")

    # ── Load ──────────────────────────────────────
    success = load_to_postgres(clean_data)
    print(f"💾 {'✅ Sucesso' if success else '❌ Falha'}")

    # ── Visualize ─────────────────────────────────
    charts = generate_all_visualizations(clean_data)
    print(f"📊 {len(charts)} dashboards gerados")

run_analysis()
-- 🏆 Top países por diversidade de gêneros
WITH country_genres AS (
    SELECT
        primary_country,
        COUNT(DISTINCT primary_genre)  AS unique_genres,
        COUNT(*)                         AS total_titles
    FROM  netflix_titles
    WHERE primary_country IS NOT NULL
      AND primary_genre   IS NOT NULL
    GROUP BY primary_country
)
SELECT
    primary_country,
    unique_genres,
    total_titles,
    ROUND(unique_genres::numeric / total_titles * 100, 2) AS diversity_ratio
FROM  country_genres
WHERE total_titles >= 50
ORDER BY diversity_ratio DESC
LIMIT 10;
# ── 1. Clone ──────────────────────────────────
git clone https://github.com/Thiago-code-lab/netflix-data-pipeline.git
cd netflix-data-pipeline

# ── 2. Ambiente virtual ───────────────────────
python -m venv venv
source venv/bin/activate   # Linux/Mac
# venv\Scripts\activate   # Windows

# ── 3. Dependências ───────────────────────────
pip install -r requirements.txt

# ── 4. PostgreSQL via Docker ──────────────────
docker-compose up -d

# ── 5. Executar ───────────────────────────────
python src/pipeline.py

# ── Demo sem banco de dados ───────────────────
python demo_pipeline.py

Funcionalidades Técnicas

Cada módulo construído com foco em robustez, manutenibilidade e performance.

🔍

Extração Robusta

Detecção automática de encoding (UTF-8, Latin-1, ISO-8859-1), validação de estrutura específica para dados Netflix e tratamento avançado de exceções com logging detalhado.

UTF-8 Validação Logging
⚙️

Feature Engineering

32 features derivadas de 12 originais. Análise temporal com décadas e sazonalidade, processamento geográfico e métricas contínuas de qualidade de dados.

32 Features Temporal Geográfico
💾

Carga Otimizada

Bulk insert em lotes, connection pooling eficiente, verificação de integridade pós-carregamento e indexação automática para máxima performance de consulta.

Bulk Insert Pooling Indexação
📊

Dashboards Avançados

4 dashboards completos com análises multidimensionais, gráficos interativos em Plotly, geração automática de relatórios e biblioteca SQL pré-otimizada.

Plotly 4 Dashboards Auto Reports

Pronto para
Explorar?

Acesse o repositório, clone o projeto e execute o pipeline completo em menos de 3 minutos.

⬡ Acessar Repositório ↗ LinkedIn ✉ Contato