2017-04-03 7 views
3

気流を初めて使う人です。気流のある特定のマシンにタスクを割り当てる

私は、特定のマシン(私の場合はEMRクラスター)で実行する必要のあるタスクを含むDAGを持っています。特定のタスクを実行するたびに、そのマシンでのみ実行するように、どこで気流を伝えることができますか?

答えて

7

キュー名を持つマシン上でワーカーを実行します。

task = PythonOperator(
    task_id='task', 
    python_callable=my_callable, 
    queue='my_queue', 
    dag=dag) 
+0

は、そのクラスタ上のすべてのプロセッサを活用するmy_queue' '気流ワーカー-qを実行します:そのキューを使用するように次に、そのタスクを定義

airflow worker -q my_queue 

:気流CLIで次のような何かを行うことができますか?複数のairflow workerコマンドを実行する必要がありますか? – David

+0

少なくともCeleryを使用している場合は、個々のボックスごとにワーカーを起動する必要があると思います。 Mesosを使用している場合、私は確信していません。 – jhnclvr

+0

私は別の 'airflow worker'をミックスに追加すると仮定します。以前定義した並行性値以上のワーカーを追加すると、airflow.cfgで' celeryd_concurrency'を編集する必要がありますか?または、私は単にairflow worker -c 12でオーバーライドすることができますか(12個の同時スレッドを持つボックスをロードする場合) – David

関連する問題