You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用TaskFlow API实现多参数按组动态任务映射而非笛卡尔积?

实现Airflow任务参数按组匹配执行(非笛卡尔积)

要实现参数按对应组匹配执行而非生成笛卡尔积,你可以使用Airflow的expand_kwargs方法,将每组参数打包成字典并放入列表中传入,这样任务会严格按你定义的参数组逐一执行。

示例代码修改:

@task
def add(x: int, y: int):
    return x + y

# 用字典列表定义每组参数,每个字典对应一次任务调用的完整参数
added_values = add.expand_kwargs([
    {"x": 4, "y": 40},
    {"x": 8, "y": 80}
])

执行后会生成你需要的两个任务实例:

  • add(x=4, y=40)
  • add(x=8, y=80)

不会产生笛卡尔积对应的其他组合。

多参数场景扩展:

如果任务有3个及以上参数,同样用字典列表的方式定义每组参数即可:

@task
def multi_calc(a: int, b: int, c: int):
    return a + b * c

multi_calc.expand_kwargs([
    {"a": 2, "b": 3, "c": 4},
    {"a": 5, "b": 6, "c": 7}
])

这样会执行:

  • multi_calc(a=2, b=3, c=4)
  • multi_calc(a=5, b=6, c=7)

内容的提问来源于stack exchange,提问作者Haha TTpro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:07:48