Repolode
spotify

spotify/luigi

Python-пакет для создания сложных конвейеров пакетных задач с разрешением зависимостей, управлением рабочими процессами, обработкой сбоев и веб-визуализацией.

Звёзды
18,784
Форки
2,474
Открытые issues
192
Последний коммит
8 дней назад

Что это?

Luigi — это Python-пакет для объединения множества пакетных задач в конвейеры. Вы описываете каждую задачу и её зависимости в коде на Python, а Luigi строит граф зависимостей, запускает задачи в нужном порядке и обрабатывает сбои, чтобы длительные рабочие процессы можно было возобновить без повторного выполнения уже завершённых задач.

Задачей может быть задание Hadoop или Hive, скрипт Pig, задание Spark, дамп таблицы базы данных, передача файла через scp или произвольная функция Python. Luigi включает встроенную поддержку Hadoop и HDFS, а операции файловой системы с локальными файлами атомарны, поэтому после сбоя не остаётся частично записанных результатов.

Luigi включает веб-сервер с визуализатором для поиска и фильтрации задач, а также просмотра графа зависимостей: завершённые и ожидающие задачи отображаются разными цветами. Пакет устанавливается через pip и при необходимости поддерживает конфигурацию на основе TOML.

Ключевые возможности

  • 01Разрешает зависимости между задачами и запускает их в правильном порядке.
  • 02Встроенная поддержка заданий Hadoop, HDFS, Hive, Pig и Spark.
  • 03Атомарные операции файловой системы не оставляют частично записанных данных после сбоя.
  • 04Веб-визуализатор для поиска задач и просмотра графа зависимостей.
  • 05Задачи описываются на Python, поэтому зависимости можно вычислять программно.

Сценарии использования

  • Оркестрация ежедневных или ежечасных конвейеров обработки данных, состоящих из заданий Hadoop, Hive или Spark.
  • Объединение в цепочки экспорта данных из баз, преобразований и этапов обучения моделей машинного обучения.
  • Возобновление длительных многоэтапных пакетных рабочих процессов после сбоя без повторного запуска завершённых задач.

Быстрый старт

  1. 1

    Установить Luigi из PyPI

    pip install luigi
  2. 2

    Установить Luigi с поддержкой конфигурации TOML (необязательно)

    pip install luigi[toml]

Что важно знать

  • Инструмент предназначен для пакетных конвейеров, поэтому не подходит для задач реального времени или потоковой обработки.
  • Задачи определяются в коде Python, поэтому командам без опыта работы с Python может быть сложнее начать его использовать.

Темы

Частые вопросы

Что такое luigi?
Python-пакет для создания сложных конвейеров пакетных задач с разрешением зависимостей, управлением рабочими процессами, обработкой сбоев и веб-визуализацией. Luigi — это Python-пакет для объединения множества пакетных задач в конвейеры. Вы описываете каждую задачу и её зависимости в коде на Python, а Luigi строит граф зависимостей, запускает задачи в нужном порядке и обрабатывает сбои, чтобы длительные рабочие процессы можно было возобновить без повторного выполнения уже завершённых задач.
luigi можно использовать бесплатно? Какая у него лицензия?
luigi распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
luigi всё ещё поддерживается?
Активно поддерживается. Последний коммит в luigi — 14 окт. 2026 г..
Для чего можно использовать luigi?
Оркестрация ежедневных или ежечасных конвейеров обработки данных, состоящих из заданий Hadoop, Hive или Spark. Объединение в цепочки экспорта данных из баз, преобразований и этапов обучения моделей машинного обучения. Возобновление длительных многоэтапных пакетных рабочих процессов после сбоя без повторного запуска завершённых задач.
Как установить luigi?
Установить Luigi из PyPI: pip install luigi Установить Luigi с поддержкой конфигурации TOML (необязательно): pip install luigi[toml]
Где скачать luigi?
Исходный код и инструкции по установке — на GitHub: https://github.com/spotify/luigi

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Система обработки данных с более чем 200 комбинируемыми операторами для очистки, фильтрации, дедупликации и генерации текста, изображений, аудио и видео для обучения foundation-моделей.

7,2 тыс.437PythonApache-2.0Обновлён 23 часа назад