PySpark · ETL · Analytics · Jobs

Explorador de skills laborales

Lee un CSV de ofertas/skills y grafica las habilidades más demandadas; útil para comparar roles, seniority y periodos. Pipeline ETL con PySpark y visualizaciones interactivas para análisis del mercado laboral.

Arquitectura del pipeline

1

Ingesta de datos

Lectura de CSVs con ofertas laborales, skills y metadatos de scraping

2

Procesamiento con PySpark

Limpieza, normalización y extracción de skills con expresiones regulares y NLP básico

3

Agregaciones y métricas

Conteo por skill, agrupación por role/seniority/periodo y ranking de demanda

4

Almacenamiento optimizado

Guardado en Parquet/Delta con particionado por fecha y región

5

Visualizaciones y reportes

Dashboards interactivos con trending skills, comparativas por rol y análisis temporal

Procedimientos y metodología

1. Extracción y normalización de skills

[Espacio reservado para explicar el proceso de extracción de skills: regex patterns, diccionario de tecnologías, manejo de sinónimos (JS/JavaScript), y limpieza de texto con PySpark NLP]

Por implementar: Patrones regex y diccionario completo de tecnologías

2. Análisis temporal y trending

[Espacio reservado para documentar el análisis de tendencias: ventanas temporales, cálculo de growth rate, detección de skills emergentes, y comparación período a período]

Por implementar: Algoritmos de detección de tendencias y métricas de crecimiento

3. Segmentación por roles y seniority

[Espacio reservado para explicar la segmentación: clasificación automática de roles (frontend, backend, data), detección de nivel de seniority, y análisis comparativo]

Por implementar: Clasificadores ML para categorización automática

Dataset y fuentes de datos

[Espacio reservado para documentar las fuentes de datos: estructura del CSV de ofertas, campos disponibles (título, descripción, skills, salario), y ejemplos de registros procesados]

Estructura de datos:

  • /data/raw/ - CSVs crudos de ofertas laborales
  • /data/processed/ - Datos limpios y normalizados
  • /data/aggregated/ - Métricas y rankings por skill
  • /reports/ - Dashboards y visualizaciones
  • /config/ - Diccionarios de skills y configuración

Instalación y configuración

Requisitos del sistema

[Por definir: versión de Spark,
configuración de memoria,
dependencias de visualización,
requisitos de Airflow/Prefect]

Setup del pipeline

# 1. Clonar repositorio
git clone https://github.com/marcorios99/job-skills-miner
cd job-skills-miner

# 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
[Por implementar: configuración de Spark session]

# 5. Procesar datos de ejemplo
spark-submit src/process_jobs_data.py

# 6. Generar reportes
python src/generate_dashboard.py

# 7. Ejecutar con orquestador (opcional)
prefect deployment run skills-pipeline/production

Resultados y métricas

[Espacio reservado para documentar insights del análisis: skills más demandadas por región/rol, tendencias temporales, correlaciones entre tecnologías y análisis salarial]

Outputs del análisis

  • Rankings de skills más demandadas
  • Análisis de tendencias temporales
  • Segmentación por roles y seniority
  • Comparativas por región/ciudad
  • Dashboards interactivos con Plotly

Métricas del pipeline

  • Volumen de ofertas procesadas
  • Precisión de extracción de skills
  • Tiempo de procesamiento por batch
  • Eficiencia de compresión Parquet

Stack tecnológico

Big Data

PySpark, Apache Spark

Storage

Delta Lake, Parquet

Orquestación

Airflow, Prefect

Visualización

Plotly, Streamlit, Jupyter

NLP básico

spaCy, regex, text processing

Testing

pytest, spark-testing-base

¿Preguntas sobre este proyecto?

Envíame un mensaje.