E29 - Snakemake: Qué es, para qué sirve y por qué es útil para un Data Scientist

10-02-2024 · 95 min · Ver en YouTube

Resumen

El episodio 29 de enCoders presenta Snakemake, una herramienta de gestión de flujos de trabajo para construir pipelines de análisis de datos bajo la lógica input → script → output. Cris explica su instalación (vía conda, en Linux o WSL) y la recorre con un ejemplo introductorio tipo "Hello World" y otro con el dataset Iris (obtención de datos, split train/test, entrenamiento con random forest y métrica de performance). Se destaca que Snakemake construye un DAG, ejecuta en paralelo según los cores disponibles y solo re-ejecuta lo que cambió (por dependencias o por modificación del script), y que no ata el código a la herramienta, a diferencia de Kedro. Se compara con Kedro: Snakemake es más simple y flexible, aunque no tiene un catálogo de datos nativo (se puede imitar con un archivo de configuración). Hay una discusión sobre si la flexibilidad (usar código Python dentro del Snakefile) incentiva malas prácticas. La conclusión general es que es una buena herramienta, simple y fácil de depurar, para productivizar procesos.

Capítulos

Palabras clave

Snakemakepipelinesflujo de datosDAGKedroMLOpsciencia de datosreproducibilidadcondaIriscatálogo de datosejecución en paralelo