PySpark · Delta/Parquet · Lakehouse

Lakehouse de tarjetas de crédito con PySpark

Generación de transacciones sintéticas de tarjeta, capas Bronze→Silver→Gold en Parquet/Delta, particionadas por fecha. Features por cliente/mes y consultas de ejemplo con PySpark.

Arquitectura del lakehouse

1

Generación de datos sintéticos

Creación de transacciones realistas de tarjetas de crédito con Faker y patrones financieros

2

Capa Bronze (Raw Data)

Ingesta cruda en formato Parquet con particionado por fecha y esquema evolutivo

3

Capa Silver (Cleaned Data)

Limpieza, validaciones, deduplicación y enriquecimiento con Delta Lake

4

Capa Gold (Aggregated Data)

Features agregadas por cliente/mes, métricas de comportamiento y analytics-ready tables

5

Consultas y análisis

Queries de ejemplo para detección de patrones, segmentación y análisis de riesgo

Procedimientos y metodología

1. Estrategia de particionado

[Espacio reservado para explicar la estrategia de particionado por fecha, optimización de queries, y manejo de skew en PySpark para datasets de transacciones financieras]

Por implementar: Análisis de performance y estrategias de particionado óptimas

2. Ingeniería de features

[Espacio reservado para documentar el proceso de creación de features: agregaciones temporales, ventanas deslizantes, ratios de gasto, patrones de comportamiento y variables derivadas]

Por implementar: Catálogo completo de features y sus definiciones de negocio

3. Optimización Delta Lake

[Espacio reservado para explicar optimizaciones específicas: OPTIMIZE, Z-ORDER, VACUUM, merge operations y estrategias de versionado para datos financieros]

Por implementar: Benchmarks de performance y mejores prácticas

Dataset y estructura de datos

[Espacio reservado para documentar el esquema de transacciones sintéticas, distribuciones realistas, casos edge y estructura de las capas Bronze/Silver/Gold]

Estructura del lakehouse:

  • /bronze/transactions/ - Datos crudos particionados por fecha
  • /silver/transactions_clean/ - Datos limpios y validados
  • /gold/customer_features/ - Features agregadas por cliente
  • /gold/monthly_summaries/ - Métricas mensuales
  • /notebooks/ - Análisis y queries de ejemplo

Instalación y configuración

Requisitos del sistema

[Por definir: versión de Spark, 
configuración de memoria, 
dependencias Delta Lake,
requisitos de Java/Scala]

Pasos de instalación

# 1. Clonar repositorio
git clone https://github.com/marcorios99/pyspark-lakehouse
cd pyspark-lakehouse

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

# 3. Instalar dependencias
pip install -r requirements.txt

# 4. Configurar Spark y Delta
[Por implementar: configuración de Spark session]

# 5. Generar datos sintéticos
python scripts/generate_synthetic_data.py

# 6. Ejecutar pipeline lakehouse
spark-submit lakehouse_pipeline.py

Resultados y métricas

[Espacio reservado para documentar métricas de performance del lakehouse: tiempos de query, throughput de ingesta, comparativas Parquet vs Delta, y ejemplos de análisis financieros realizados]

Outputs del lakehouse

  • Capas Bronze, Silver y Gold con Delta Lake
  • Tablas particionadas y optimizadas para analytics
  • Features de comportamiento de clientes
  • Notebooks con queries de ejemplo y análisis

Métricas de performance

  • Tiempo de procesamiento por batch
  • Compresión y eficiencia de almacenamiento
  • Performance de queries agregadas
  • Throughput de operaciones MERGE

Stack tecnológico

Big Data

PySpark, Apache Spark

Storage

Delta Lake, Parquet

Data Generation

Faker, Pandas

Analytics

Spark SQL, DataFrames

Notebooks

Jupyter, PySpark kernels

Testing

pytest, spark-testing-base

¿Preguntas sobre este proyecto?

Envíame un mensaje.