Saltar al contenido
Logotipo de Trainontech Trainontech

Big Data e Ingeniería de Datos · BIG-140

Dask: paralelizar Python sin salir del notebook

Escalar Pandas y NumPy a conjuntos que no caben en memoria manteniendo la API conocida.

Bajo demanda Avanzado 7 módulos · 30 clases

Formato asíncrono Ingeniería / Industria, Desarrollo Dask, Python, JupyterLab

Lo que aprenderás

  • Distinguir evaluación perezosa y grafo de tareas de la ejecución inmediata de Pandas.
  • Convertir un flujo de Pandas a dask.dataframe controlando particiones y tipos de columna.
  • Dimensionar particiones y memoria de los trabajadores para evitar derrames y fallos por falta de memoria.
  • Diagnosticar un cálculo con el panel de Dask leyendo el grafo, las tareas y el uso de memoria.
  • Paralelizar funciones propias con dask.delayed y dask.bag cuando el DataFrame no encaja.
  • Desplegar un clúster de Dask local o distribuido y ejecutar el mismo código sin cambiarlo.

Contenido del curso

7 módulos · 30 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Cuando Pandas se queda corto 4 clases
  • Memoria, tipos y coste real de un DataFrame
  • Qué aporta Dask y qué no
  • Entorno en JupyterLab con clúster local
  • Primer cálculo perezoso y su grafo
Módulo 2 · dask.dataframe 5 clases
  • Leer CSV y Parquet en particiones
  • Operaciones que se traducen directamente de Pandas
  • groupby, merge y las operaciones que barajan datos
  • compute, persist y materialización
  • Tipos de columna y ahorro de memoria
Módulo 3 · Particionado 4 clases
  • Cuántas particiones y de qué tamaño
  • repartition y set_index con criterio
  • Índice ordenado y consultas por rango
  • Escritura particionada a Parquet
Módulo 4 · Diagnóstico 4 clases
  • El panel de Dask: tareas, flujo y memoria
  • Derrame a disco y fallos por memoria
  • Detectar barajados innecesarios
  • Perfilar y comparar alternativas de código
Módulo 5 · Más allá del DataFrame 4 clases
  • dask.delayed para funciones propias
  • dask.bag con datos semiestructurados
  • dask.array y cálculo sobre matrices grandes
  • Integración con scikit-learn
Módulo 6 · Ejecución distribuida 5 clases
  • Cliente, planificador y trabajadores
  • Clúster local frente a clúster remoto
  • Recursos, límites y adaptabilidad
  • Dependencias coherentes en todos los nodos
  • Tolerancia a fallos y reintentos
Módulo 7 · Migración completa 4 clases
  • Flujo de partida en Pandas y su medición
  • Migración por etapas con verificación de resultados
  • Ajuste de particiones y memoria
  • Ejecución final sobre el clúster y comparativa

Requisitos

  • Python con Pandas y NumPy en uso habitual, incluidos groupby y merge.
  • Trabajo previo en JupyterLab y nociones de uso de memoria de un proceso.
  • Basta con un navegador: las prácticas se ejecutan en JupyterLab con un clúster local.

Descripción

El flujo de análisis funciona hasta que el fichero del mes crece y el notebook muere con un error de memoria. Las salidas habituales son muestrear, trocear a mano o reescribir todo en otra herramienta, y las tres cuestan tiempo y fiabilidad. Dask ofrece una vía intermedia: el mismo código, ejecutado por partes y en paralelo.

El curso parte de un flujo real en Pandas que ya no cabe en memoria y lo migra paso a paso. Se explica el grafo de tareas y la evaluación perezosa, se ajusta el particionado, se miden los efectos con el panel de diagnóstico y se paralelizan las partes que no son un DataFrame usando delayed y bag. Se cierra ejecutando el mismo cuaderno contra un clúster distribuido.

Al terminar se sabe cuándo Dask es la respuesta correcta y cuándo conviene ir a Spark o simplemente a un formato columnar mejor elegido. Encaja antes de los cursos de ingeniería de datos de extremo a extremo y de lakehouse, donde el volumen ya obliga a repartir el trabajo por diseño.

¿Para quién es este curso?

  • Personal de ingeniería que analiza datos de proceso o de ensayo cuyo volumen ha superado la memoria del equipo.
  • Perfiles de desarrollo con flujos en Pandas que tardan demasiado y quieren paralelizarlos sin reescribirlos.
  • Científicos de datos que necesitan escalar sin abandonar el entorno de notebook.
Bajo demanda

Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.

Código
BIG-140
Nivel
Avanzado
Público
Ingeniería / Industria, Desarrollo
Entorno
Dask, Python, JupyterLab

Este curso incluye

  • 30 clases en vídeo bajo demanda
  • Práctica íntegramente en JupyterLab, solo con un navegador
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Bajo demanda

BIG-110Big Data e Ingeniería de Datos

Apache Spark con PySpark

DataFrames distribuidos, transformaciones perezosas y ejecución sobre clúster desde el cuaderno.

SparkPythonJupyterLab

Avanzado 30 clases

Próximamente

BIG-112Big Data e Ingeniería de Datos

Spark con Scala en notebook

La API nativa de Spark con el kernel Almond, para equipos que necesitan el máximo rendimiento.

SparkScalaJupyterLab

Avanzado 25 clases

Bajo demanda

BIG-120Big Data e Ingeniería de Datos

Apache Kafka: fundamentos

Topics, particiones, grupos de consumidores y retención: el sistema nervioso de la arquitectura de datos.

KafkaDocker

Avanzado 28 clases