E48 - Intro a Snakemake: Cómo crear pipelines reproducibles de desarrollo

26-02-2024 · 98 min · Ver en YouTube

Resumen

El episodio presenta Snakemake, una herramienta en Python para orquestar flujos de datos (inputs, parámetros, Script y outputs) de forma reproducible, sirviendo para productivizar modelos y dejar proyectos analíticos ordenados. Snakemake detecta qué Scripts, parámetros o inputs cambiaron y solo reejecuta lo necesario, ahorrando tiempo y evitando olvidos al trabajar en equipo. Tras una discusión inicial sobre Anaconda frente a venv, Windows frente a Linux/WSL y lenguajes para análisis de datos, Cristian muestra once ejemplos progresivos: Hello World, Scripts de Python, parámetros desde un archivo de configuración y línea de comandos, el paquete propio `ipipe`, outputs únicos por versión, variables de ambiente en `.env`, cadenas de reglas y ejecución en paralelo con `expand` y Parquet particionado. Se compara con Airflow (orquestación de tareas, interfaz visual) y se critica Kedro por su dificultad para depurar y su dependencia de Python. Conclusión: Snakemake es una herramienta de apoyo, no un framework intrusivo, útil para desarrollar rápido y luego pasar a producción, incluso como un único nodo de Airflow.

Capítulos

Palabras clave

Snakemakepipelinesflujo de datosDAGreproducibilidadorquestaciónAirflowKedroParquetparalelismoparámetrosconfiguración