Repolode
spotify

spotify/luigi

Paquete de Python para crear pipelines complejos de trabajos por lotes, con resolución de dependencias, gestión de workflows, manejo de fallos y un visualizador web.

Estrellas
18,784
Forks
2,474
Issues abiertos
192
Último commit
hace 8 días

¿Qué es?

Luigi es un paquete de Python para encadenar muchas tareas por lotes en pipelines. Defines cada tarea y sus dependencias en código Python, y Luigi resuelve el grafo de dependencias, ejecuta las tareas en orden y gestiona los fallos para que se puedan reanudar workflows de larga duración sin repetir el trabajo ya completado.

Una tarea puede ser un trabajo de Hadoop o Hive, un script de Pig, un trabajo de Spark, un volcado de una tabla de base de datos, una transferencia de archivos con scp o una función arbitraria de Python. Luigi incluye compatibilidad integrada con Hadoop y HDFS, y sus operaciones del sistema de archivos local son atómicas, por lo que una ejecución fallida no deja resultados parciales.

Luigi incluye un servidor web con un visualizador para buscar y filtrar tareas, y consultar el grafo de dependencias, donde las tareas completadas y pendientes se muestran con colores distintos. Se instala con pip y admite configuración basada en TOML como extra opcional.

Funciones clave

  • 01Resuelve las dependencias entre tareas y las ejecuta en el orden correcto.
  • 02Compatibilidad integrada con Hadoop, HDFS y trabajos de Hive, Pig y Spark.
  • 03Operaciones atómicas del sistema de archivos para que las ejecuciones fallidas no dejen datos parciales.
  • 04Visualizador web para buscar tareas y consultar el grafo de dependencias.
  • 05Las tareas se definen en Python, por lo que las dependencias se pueden calcular mediante código.

Casos de uso

  • Orquestar pipelines de datos diarios o por hora compuestos por trabajos de Hadoop, Hive o Spark.
  • Encadenar exportaciones de bases de datos, transformaciones y etapas de entrenamiento de machine learning.
  • Reanudar workflows largos de procesamiento por lotes tras un fallo, sin volver a ejecutar las tareas ya completadas.

Inicio rápido

  1. 1

    Instalar Luigi desde PyPI

    pip install luigi
  2. 2

    Instalar Luigi con compatibilidad con la configuración TOML (opcional)

    pip install luigi[toml]

Antes de usarlo

  • Está diseñado para flujos de trabajo por lotes, por lo que no es adecuado para cargas de trabajo en tiempo real o de streaming.
  • Las tareas se definen en código Python, así que los equipos sin experiencia con Python pueden tener más dificultades para adoptarlo.

Temas

Preguntas frecuentes

¿Qué es luigi?
Paquete de Python para crear pipelines complejos de trabajos por lotes, con resolución de dependencias, gestión de workflows, manejo de fallos y un visualizador web. Luigi es un paquete de Python para encadenar muchas tareas por lotes en pipelines. Defines cada tarea y sus dependencias en código Python, y Luigi resuelve el grafo de dependencias, ejecuta las tareas en orden y gestiona los fallos para que se puedan reanudar workflows de larga duración sin repetir el trabajo ya completado.
¿luigi es gratuito? ¿Qué licencia tiene?
luigi es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿luigi sigue mantenido?
Mantenimiento activo. El último commit de luigi fue el 14 oct 2026.
¿Para qué puedo usar luigi?
Orquestar pipelines de datos diarios o por hora compuestos por trabajos de Hadoop, Hive o Spark. Encadenar exportaciones de bases de datos, transformaciones y etapas de entrenamiento de machine learning. Reanudar workflows largos de procesamiento por lotes tras un fallo, sin volver a ejecutar las tareas ya completadas.
¿Cómo se instala luigi?
Instalar Luigi desde PyPI: pip install luigi Instalar Luigi con compatibilidad con la configuración TOML (opcional): pip install luigi[toml]
¿Dónde consigo luigi?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/spotify/luigi

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados