Cloud Data Fusion 如何按小时调度同个管道并传入不同运行参数
Cloud Data Fusion 单管道多参数定时触发方案
完全不需要复制多份管道,以下两种是常用的实现方式:
方法1:使用Data Fusion原生多调度配置(最简便)
直接给同一个管道绑定两个独立的定时调度即可,操作步骤如下:
- 进入目标管道的详情页,切换到「调度(Schedules)」标签
- 新建第一个调度:设置Cron表达式为
0 * * * *(每小时整点触发),在运行参数配置栏填入Json file to GCS Argument Setter对应的参数值为gs://mybucket/argument1.json,保存启用 - 新建第二个调度:如果需要错开运行,设置Cron表达式为
1 * * * *(每小时第1分钟触发),运行参数填写为gs://mybucket/argument2.json,保存启用 - 两个调度独立触发,都会调用同一份管道,只是传入的运行参数不同,完全匹配你的需求
注意:需要先在管道设置中,将「最大并发运行实例数」调整为≥2,否则同一时间只能运行一个管道实例,后触发的任务会被阻塞。
方法2:通过Cloud Data Fusion API自定义调度
如果后续触发逻辑会频繁调整,可以用API调用的方式实现:
- 调用GCP提供的
projects.locations.instances.pipelines.start接口,传入不同的运行参数即可触发同一管道的多实例运行 - 你可以配合Cloud Function+Cloud Scheduler实现:创建两个Cloud Scheduler任务,每小时分别触发对应Cloud Function,Cloud Function调用上述API传入不同的参数启动管道即可
内容的提问来源于stack exchange,提问作者Thelight
相关产品推荐
相关产品推荐

