首頁 > 後端開發 > Python教學 > 在 Cloud Composer 中將相同運算子作為多個任務執行

在 Cloud Composer 中將相同運算子作為多個任務執行

PHPz
發布: 2024-02-08 21:08:30
轉載
614 人瀏覽過

在 Cloud Composer 中将同一运算符作为多个任务执行

問題內容

我在 airflow 中有一個使用 cloud composer 執行的 pythonoperator:

with DAG(
    dag_id = config['dag_id'],
    schedule_interval = config['schedule_interval'],
    default_args = default_args
    ) as dag:
    
    generate_data_task = PythonOperator(
        task_id = 'generate_dummy_data',
        python_callable = generate_data,
        dag = dag
    )
登入後複製

generate_data() 函數將隨機產生的唯一命名的 csv 檔案寫入包含一些資料的儲存桶中。按原樣執行效果很好,但我想並行多次執行同一任務。如果我指定並行執行 10 次,我預計會在儲存桶中寫入 10 個檔案。我嘗試過並發和task_concurrency,但得到了相同的結果。

這可以在 cloud composer 之上使用 airflow 實現嗎?


正確答案


使用動態任務映射

generate_data_task = PythonOperator.partial(
        task_id = 'generate_dummy_data',
        python_callable = generate_data,
        dag = dag
    ).expand(op_args=[[]] * 10)
登入後複製

以上是在 Cloud Composer 中將相同運算子作為多個任務執行的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板