首页 > 后端开发 > Python教程 > 在 Cloud Composer 中将同一运算符作为多个任务执行

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

PHPz
发布: 2024-02-08 21:08:30
转载
588 人浏览过

在 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板