SeriesSpark & Delta 101
Las particiones son la unidad de paralelismo en Spark. Este post muestra cómo el número de particiones cambia la distribución de tareas y el rendimiento. Ref: repartition, coalesce.
Descargas al final: ir a Descargas.
En pocas palabras
- Pocas particiones desaprovechan el cluster.
- Demasiadas particiones agregan overhead.
- Puedes inspeccionar y ajustar de forma segura.
Ejecuta tú mismo
- Spark local (Docker): ruta principal de este blog.
- Databricks Free Edition: alternativa rápida si no quieres Docker.
| |
Links:
Crear un dataset
Usamos un rango grande para ver cómo Spark lo particiona.
| |
Ver particiones actuales
Inspeccionamos cuántas particiones tiene el DataFrame.
| |
Salida esperada (ejemplo):
8
Repartition vs coalesce
Probamos ambos para entender su impacto en tasks y shuffle.
| |
Salida esperada:
df_repart tendrá 64 particiones; df_coal tendrá 8 o menos.
Qué verificar
- El número de particiones cambia como esperas.
- Más particiones aumentan tareas; menos las reducen.
- La duración de tareas se balancea con un número razonable.
Notas de práctica
- Empieza con defaults y ajusta con evidencia.
- Repartition genera shuffle completo; coalesce lo evita.
- Usa Spark UI para ver cómo se mapean tareas.
Descargas
Si no quieres copiar código, descarga el notebook o el .py.