开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

dataworks调度ADB任务可以设置参数吗?设置一个参数来指定时间,比如我今天想跑三天前的数据。

如题

展开
收起
游客3oewgrzrf6o5c 2022-06-24 17:49:34 630 0
1 条回答
写回答
取消 提交回答
  • 是的,在DataWorks中调度ADB任务时可以设置参数。您可以在脚本中添加参数,然后在调度配置中为该参数指定具体的值,以便在执行任务时动态传入。

    下面以使用Shell语言编写的ADB任务为例,假设需要指定日期参数date来控制跑数天数。首先,您可以在Shell脚本中定义该参数:

    #!/bin/bash
    
    # 获取当前时间前 $1 天的日期
    n_days_ago=`date -d "-$1 day" +%Y%m%d`
    
    # 调用ADB命令从数据源导出数据
    adb sql "select * from xxx where date='$n_days_ago' export overwriteto cos://bucket/xxx"
    
    

    在脚本中,通过date命令获取当前时间前N天的日期,并把该日期传递给ADB命令的where条件,更新相应的数据。

    接下来,在DataWorks中调度该ADB任务,需要修改任务的调度配置,将date参数设置为具体值。具体步骤如下:

    1. 找到需要调度的ADB任务,并单击进入相应的任务详情页面。
    2. 在“基本属性”标签页中,找到TaskParam字段并添加相关参数及默认值,例如:{"date":"3"}。
    3. 在“实例参数”标签页中,确保TaskParam参数值为空。
    4. 单击“周期/手动触发”标签页,按需设定好调度周期等信息。
    5. 点击“保存并上线”按钮,完成ADB任务的调度配置。

    当调度该任务时,DataWorks会将指定的参数值传递给ADB任务,并以此执行数据导出操作。您可以根据实际情况对参数进行灵活调配,以满足不同的业务需求。

    2023-05-11 10:12:15
    赞同 1 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    消电行业数据中台解决方案白皮书 立即下载
    (终极版)2020阿里云金融数据中台报告 立即下载
    2020年中国乳制品行业数据中台研究报告 立即下载