気流が自分のニーズに適しているかどうかを評価しています(バイオインフォマティクス)。私は気流モデルでいくつかの問題を抱えています。具体的には:特定のディレクトリで手動でAirflow DAGを実行する方法
- DAGファイルは実際にどこで実行されますか?そのコンテキストは何ですか?入力データをDAG定義ファイルに渡すにはどうすればよいですか? (たとえば、ディレクトリ内の各ファイルのタスクを作成しない)
- アドホックベースでDAGを実行するにはどうすればよいですか。 DAG構築のパラメータをどのように渡すのですか?
ここに私が実行したいものの例があります。私はちょうどいくつかの共有ファイルシステムで利用可能な20のファイルを含むディレクトリとしていくつかのデータを受け取ったとします。私は、20個のファイルのそれぞれに対して特定のbashコマンドを実行し、結果の一部を結合し、さらに処理を実行するDAGパイプラインを実行したい。 DAGはファイルシステム上のパスを必要とし、ディレクトリ内のファイルをリストして、それぞれのタスクを構築します。
DAGの全面的な前提を動的に構築できるのであれば、あるタスクから別のタスクにメタデータを渡す必要はありません(私が理解できるのはXCom
です)。しかし、どのように私がDAG構築への道を渡すことができるかは私には分かりません。
別の言い方をすれば、私は
dag = DAG(...)
for file in glob(input_path):
t = BashOperator(..., dag=dag)
のようなものが含まれるように、私のDAGの定義が欲しいどのように私は私が手動でDAGをトリガしたい場合input_path
が渡されたのですか?
私はまた、実際にはcronスタイルのスケジューリングの必要はありません。
ルイージの類似機能は、CLIでパラメータを指定することです –