GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

spotify

luigi – Luigiは、バッチジョブの複雑なパイプラインを構築するのに役立つPythonモジュールです。 依存関係解決、ワークフロー管理、ビジュアライゼ..

投稿日:

Luigiは、バッチジョブの複雑なパイプラインを構築するのに役立つPythonモジュールです。 依存関係解決、ワークフロー管理、ビジュアライゼーションなどを処理します。また、Hadoopサポートが組み込まれています。

Luigiは、バッチジョブの複雑なパイプラインを構築するのに役立つPython(2.7,3.3,3.4,3.5,3.6)パッケージです。 依存関係の解決、ワークフロー管理、ビジュアライゼーション、処理の失敗、コマンドラインの統合などを処理します。

入門

PyPIから最新の安定バージョンをインストールするには、 pip install luigiを実行します。 最新リリースのドキュメントは、読書会でホストされています。

出血するエッジコードについては、 pip install git+https://github.com/spotify/luigi.git 出血端の文書も入手可能です。

バックグラウンド

ルイージの目的は、通常長期間にわたるバッチ処理に関連するすべての配管に対処することです。 多くのタスクを連鎖させ、それらを自動化し、失敗起こさせたいとします。 これらのタスクは何でもかまいませんが、一般的にHadoopジョブ、データベースとの間でのデータのダンプ、マシン学習アルゴリズムの実行など、長時間実行されるものです。

HivePigCascadingなど、データ処理の低レベルの側面に焦点を当てた他のソフトウェアパッケージがあります。 ルイージはこれらを置き換える枠組みではありません。 代わりに、各タスクはHiveクエリJavaのHadoop ジョブ、ScalaまたはPythonのSparkジョブ 、Pythonスニペット、データベースからテーブルダンプするなど 、多くのタスクを一緒にスティッチするのに役立ちます。 何千ものタスクで構成され、完了まで数日か数週間かかる長期実行パイプラインを構築するのは簡単です。 Luigiはワークフロー管理の多くを担当しているので、自分自身とその依存関係に集中することができます。

あなたはあなたが望むすべてのタスクを構築することができますが、Luigiにはいくつかの一般的なタスクテンプレートのツールボックスが付属しています。 これには、HadoopとHivePigのジョブだけでなく、HadoopでPythonのmapreduceジョブを実行するためのサポートが含まれています。 また、HDFSのファイルシステムの抽象化 、およびすべてのファイルシステム操作を確実に行うローカルファイルが付属しています これは、データパイプラインが部分データを含む状態でクラッシュしないという意味で重要です。

ビジュアライザーページ

LuigiサーバーにはWebインターフェイスも付属しているので、すべてのタスクを検索してフィルタリングすることができます。

依存グラフの例

ルイージが何をしているのかを知るために、これは我々がプロダクションで走っているものからのスクリーンショットです。 Luigiのビジュアライザーを使用して、ワークフローの依存グラフを視覚的に把握することができます。 各ノードは、実行されなければならないタスクを表す。 緑のタスクは既に完了していますが、黄色のタスクはまだ実行されていません。 これらのタスクのほとんどはHadoopジョブですが、ローカルで実行してデータファイルを構築するものもあります。

哲学

概念的には、LuigiはGNU Makeと似ていますが、特定のタスクがあり、これらのタスクは他のタスクに依存する可能性があります。 OozieAzkabanにはいくつかの類似点があります。 主な違いの1つは、LuigiはHadoop用に特別に作られたものではなく、他の種類のタスクでも簡単に拡張できることです。

ルイージのすべてがPythonで書かれています。 XML構成や同様の外部データファイルの代わりに、依存関係グラフはPython内で指定されています これにより、タスクの複雑な依存関係グラフを簡単に構築することができます。ここで、依存関係には、同じタスクの他のバージョンに対する日付代数または再帰参照が含まれます。 ただし、ワークフローでは、Python スクリプトではないスクリプトscpファイルを実行するなど、Python以外のものを起動することができます

ルイージは誰ですか?

私たちはLuigiをSpotifyで社内で毎日何千ものタスクを実行するために使用し、複雑な依存関係グラフで編成しています。 これらのタスクのほとんどはHadoopの仕事です。 Luigiは、推奨事項、トライプリスト、A / Bテスト分析、外部レポート、内部ダッシュボードなど、あらゆる種類のものに役立つインフラストラクチャを提供します。

Luigiはオープンソースで登録壁がないため、Luigiユーザーの正確な数は不明です。 しかし、ユニークな貢献者の数に基づいて、何百もの企業がそれを使用することを期待しています。 Luigiについてのブログ投稿やプレゼンテーションを書いたユーザーもいます。

さらに多くの企業がLuigiを使用していますが、まだそれについて書く機会はありませんでした。

あなたの会社をここに追加してもらえれば幸いです。 ちょうどGitHubでPRを送ってください。

外部リンク

著者

Luigiは主にErik BernhardssonElias FreiderによってSpotifyに建設されました Arash Rouhaniは、現在、Luigiの主任メンテナでもあります。







-spotify
-, , , ,

執筆者: