Rustエンジンを基盤とし、ストリーム処理、リアルタイム分析、LLMパイプライン、RAGに対応するPython ETLフレームワーク。
spotify/luigi
依存関係の解決、ワークフロー管理、障害処理、Webビジュアライザーを備えた、複雑なバッチジョブのパイプラインを構築するためのPythonパッケージ。
- スター
- 18,784
- フォーク
- 2,474
- 未解決の Issue
- 192
- 最終コミット
- 8 日前
これは何?
Luigiは、多数のバッチタスクを連結してパイプラインを構築するためのPythonパッケージです。各タスクとその依存関係をPythonコードで定義すると、Luigiが依存関係グラフを解決し、タスクを順番に実行します。また、障害が起きても完了済みの処理をやり直さずに、長時間実行するワークフローを再開できるようにします。
タスクには、HadoopやHiveのジョブ、Pigスクリプト、Sparkジョブ、データベーステーブルのダンプ、scpによるファイル転送、任意のPython関数を指定できます。LuigiにはHadoopとHDFSの組み込みサポートがあり、ローカルファイルに対するファイルシステム操作はアトミックなので、実行に失敗しても不完全な出力が残りません。
LuigiにはWebサーバーが付属しており、タスクの検索や絞り込み、依存関係グラフの表示に使えるビジュアライザーを利用できます。完了済みのタスクと未処理のタスクは異なる色で表示されます。pipでインストールでき、オプションの追加機能としてTOMLベースの設定にも対応しています。
主な機能
- 01タスクの依存関係を解決し、正しい順序で実行する。
- 02Hadoop、HDFS、Hive、Pig、Sparkのジョブを標準でサポート。
- 03ファイルシステム操作がアトミックなため、失敗しても不完全なデータが残らない。
- 04タスクの検索や依存関係グラフの表示に使えるWebビジュアライザー。
- 05タスクをPythonで定義できるため、依存関係をプログラムから計算できる。
ユースケース
- Hadoop、Hive、Sparkのジョブで構成される日次または時間単位のデータパイプラインのオーケストレーション。
- データベースのエクスポート、変換、機械学習の学習処理を連結する。
- 長い複数ステップのバッチワークフローで障害が起きた後、完了済みのタスクを再実行せずに再開する。
クイックスタート
- 1
PyPIからLuigiをインストールする
pip install luigi - 2
TOML設定のサポート付きでLuigiをインストールする(任意)
pip install luigi[toml]
使う前に知っておきたいこと
- バッチパイプライン向けに設計されているため、リアルタイム処理やストリーミング処理には適していません。
- タスクはPythonコードで定義するため、Pythonの経験がないチームには導入のハードルが高い場合があります。
トピック
よくある質問
- luigi とは?
- 依存関係の解決、ワークフロー管理、障害処理、Webビジュアライザーを備えた、複雑なバッチジョブのパイプラインを構築するためのPythonパッケージ。 Luigiは、多数のバッチタスクを連結してパイプラインを構築するためのPythonパッケージです。各タスクとその依存関係をPythonコードで定義すると、Luigiが依存関係グラフを解決し、タスクを順番に実行します。また、障害が起きても完了済みの処理をやり直さずに、長時間実行するワークフローを再開できるようにします。
- luigi は無料で使えますか?ライセンスは?
- luigi は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- luigi は今もメンテナンスされていますか?
- 活発にメンテナンス中。luigi の最終コミットは 2026年10月14日 です。
- luigi は何に使えますか?
- Hadoop、Hive、Sparkのジョブで構成される日次または時間単位のデータパイプラインのオーケストレーション。 データベースのエクスポート、変換、機械学習の学習処理を連結する。 長い複数ステップのバッチワークフローで障害が起きた後、完了済みのタスクを再実行せずに再開する。
- luigi のインストール方法は?
- PyPIからLuigiをインストールする: pip install luigi TOML設定のサポート付きでLuigiをインストールする(任意): pip install luigi[toml]
- luigi はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/spotify/luigi
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
イベント分析、セッションリプレイ、Feature Flags、実験、エラートラッキング、アンケート、データウェアハウスを統合したオープンソースのプロダクト分析プラットフォーム。
API、データベース、ファイルからウェアハウス、データレイク、AIアプリへデータを移動する、ELTパイプライン向けオープンソース基盤。
基盤モデルの学習に向けて、テキスト・画像・音声・動画データをクリーニング、フィルタリング、重複排除、合成するための、200種類以上の組み合わせ可能なオペレーターを備えたデータ処理システム。
クラウドやSaaSのインフラメタデータをデータウェアハウスに同期し、SQLでのクエリ、資産インベントリ、セキュリティ分析を可能にするCLIとデータパイプライン。
Apache NiFiは、ブラウザーUIで管理しながら、データソースと送信先の間のデータフローを自動化、ルーティング、監視するシステムです。