DolphinScheduler动态参数传递:解放批量任务生产力

需积分: 0 8 下载量 31 浏览量 更新于2024-08-03 收藏 121KB DOCX 举报
"本文主要介绍了如何在DolphinScheduler海豚调度器中实现动态传递任务执行参数,以解决在大批量补采数据任务时需要频繁手动修改任务参数的问题。通过设置自定义OUT参数和使用特定命令,可以在任务节点之间有效地传递参数,提高工作效率。文中通过一个具体的例子详细阐述了动态传参的步骤和注意事项。" DolphinScheduler是一款强大的工作流系统,广泛应用于大数据处理和任务调度。在处理需要动态参数的任务流时,手动修改每个任务节点的参数非常繁琐。为了解决这个问题,DolphinScheduler提供了动态传递任务执行参数的功能,使得在任务链中可以方便地传递参数,大大提升了工作效率。 动态传参适用的场景包括但不限于需要在不同任务节点间共享和更新参数的批量数据处理任务。具体使用方法如下: 1. **设置自定义OUT参数**:在需要传递参数的任务节点中,通过设置自定义的OUT参数(例如`date_str1`)并赋予其值。这可以通过执行命令如`echo'${setValue(key='$value')}'`来实现。在这个例子中,`date_str1`的值被设置为前一天的日期(`data_str=$(date -d "1day ago" +%Y%m%d)`)。 2. **传递参数**:在下一任务节点中,可以使用`${value}`来获取上一节点传递的参数值。例如,在任务节点222中,通过`echo ${date_str1}`打印出从111节点传递过来的`date_str1`的值,并将其赋值给新的变量`date_str`,再通过`echo'${setValue(date_str2='$date_str')}'`将`date_str`传递到任务节点333。 3. **唯一性与传递**:需要注意的是,传递的参数名在整个任务流中必须保持唯一,以避免混淆。只有在需要往下一级传递参数时,才设置自定义OUT参数。例如,任务节点333不需要继续传递参数,因此不设置自定义参数。 通过以上步骤,我们成功构建了一个从111任务节点传递参数到333任务节点的示例。每个任务节点的输出结果展示了参数的正确传递和使用。 总结来说,DolphinScheduler的动态传参功能简化了在大量任务中管理和传递参数的过程,特别是在需要根据时间或其他动态条件调整参数的场景下,极大地提高了工作效率和任务执行的灵活性。了解并掌握这一特性对于优化和自动化调度大数据任务流程至关重要。