在创建作业过程中,支持在作业参数中设置时间变量通配符。
变量通配符格式
E-MapReduce 所支持的变量通配符的格式为${dateexpr-1d} 或者${dateexpr-1h} 的格式。例如,假设当前时间为“20160427 12:08:01”:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云E-MapReduce服务中,创建作业时支持使用时间变量通配符来动态生成参数值,这为需要按时间维度自动执行的任务提供了便利。根据您的描述,这种功能特别适合那些日常的批处理任务,如数据备份、数据分析等,它们往往依赖于特定日期或时间范围的数据。
您已经正确指出了E-MapReduce支持的时间变量通配符格式,例如${dateexpr-Nd}
或${dateexpr+Nh}
,其中dateexpr
是遵循一定格式的时间表达式(如yyyyMMdd HH:mm:ss
),而N
是一个整数,表示要加减的天数(d
)或小时数(h
)。通过这种方式,您可以灵活地指定相对于当前时间的某个时间点作为作业参数。
在您给出的示例中:
jar ossref://emr/jar/hadoop/hadoop_wc.jar com.aliyun.emr.WordCount oss://emr/output/pt=20160426
假设这个作业是在某一天执行,且应用参数中包含了一个时间变量通配符,比如${yyyyMMdd-1d}
,那么在实际执行时,如果当前日期是2016年4月27日,oss://emr/output/pt=20160426
中的20160426
就是由${yyyyMMdd-1d}
动态计算出来的,代表前一天的日期。
${yyyyMMdd-1d}
,这样每次作业都会自动指向前一天的日期目录。${yyyyMMdd HH:mm:ss-Nh}
或${yyyyMMdd-Nd}
来确保任务总是针对正确的时间段执行。dateexpr
部分与您希望格式化的时间相匹配,保持时间格式的一致性对于正确解析非常重要。综上所述,E-MapReduce的时间变量通配符功能极大地增强了作业调度的灵活性和自动化程度,使得处理时间敏感型任务变得更加便捷。