web-dev-qa-db-ja.com

エアフロー:UIを介したエアフローでのDAGの作成

気流のベテランが助けてください、

私はcronの代替品を探していて、Apacheのエアフローに出くわしました。

複数のユーザーが独自のDAGを作成し、ジョブをスケジュールできるようにする設定があります。

私たちのユーザーは、DAG pythonファイルの書き方を知らない人もいます。また、airflowが実行されているサーバーにアクセスできないかもしれません。

UIを介してエアフローDAGを作成することは可能ですか?同じものへの参照は見つかりませんでした。すべての例では、pythonファイルの作成と$ AIRFLOW_HOME/dag /ディレクトリへのアップロードについて説明しています。ユーザーはこのディレクトリにアクセスできません。

たとえばRundeckでは、UIを介してワークフローやタスクの依存関係を追加できます。エアフローにこれに類似したプラグイン/機能がありますか?.

PS:気流がディペンデンシーグラフを表示する方法が本当に好きなので、試してみたいと思います。しかし、DAGの作成が非常に複雑な場合は、多くのエンドユーザーにとって大きな問題になります。

9
Mukul Jain

すぐに使える解決策はないと思います。私があなたの仕事で試すのは、CWL(共通ワークフロー言語)、Airflow、Rabix Composerの組み合わせです。

したがって、 [〜#〜] cwl [〜#〜] は単なる仕様であり、ワークフローをYAMLのような構文で記述します。

パッケージありpip3.6 install cwl-airflow CWLを解析してAirflow DAGにすることができます。

Rabix Composer UI /グラフィカルCWLエディター。

8

興味深いオープンソースプロジェクトがあります。

https://github.com/timkpaine/paperboy

2
Pav K.

Airflow Variableモデルを使用してください。

ステップ1、ユーザー入力を使用してビジネスモデルを定義するステップ2、pythonでdagファイルとして書き込む、ユーザー入力をairflow変数モデルで読み取ることができる(キー/値モード)ステップ3. airflow xcomモデルでタスク情報を交換する。

運用モードでは、ユーザーは特定のDAGのairflow web ui-> admin-> variableにパラメーターを入力します(キー値モード)。

それで終わりました。

最近、私はユーザーが実行可能なエアーフローとDAGを使用して、さまざまなシナリオでさまざまな種類の外れ値検出DAGを実行しています。スムーズに動作します。

上記の経験がお役に立てば幸いです。

0
Yong Wang