CDM在创建表/文件迁移的作业,支持连接器源端为关系型数据库时,在表字段映射中使用时间宏变量增加入库时间字段,用以记录关系型数据库的入库时间等用途。
前提条件
已创建连接器源端为关系型数据库,以及目的端数据连接。
创建表/文件迁移作业
1.在创建表/文件迁移作业时,选择已创建的源端连接器、目的端连接器。
图 配置作业
2.单击“下一步”,进入“字段映射”配置页面后,单击源字段图标。
图 配置字段映射
3.选择“自定义字段”页签,填写字段名称及字段值后单击“确认”按钮,例如:
名称:InputTime。
值:${timestamp()},更多时间宏变量请参见下表。
图 添加字段
表 时间变量宏定义具体展示
宏变量 | 含义 | 实际显示效果 |
---|---|---|
${dateformat(yyyy-MM-dd)} | 以yyyy-MM-dd格式返回当前时间。 | 2017-10-16 |
${dateformat(yyyy/MM/dd)} | 以yyyy/MM/dd格式返回当前时间。 | 2017/10/16 |
${dateformat(yyyy_MM_dd HH:mm:ss)} | 以yyyy_MM_dd HH:mm:ss格式返回当前时间。 | 2017_10_16 09:00:00 |
${dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)} | 以yyyy-MM-dd HH:mm:ss格式返回时间,时间为当前时间的前一天。 | 2017-10-15 09:00:00 |
${timestamp()} | 返回当前时间的时间戳,即1970年1月1日(00:00:00 GMT)到当前时间的毫秒数。 | 1508115600000 |
${timestamp(-10, MINUTE)} | 返回当前时间点10分钟前的时间戳。 | 1508115000000 |
${timestamp(dateformat(yyyyMMdd))} | 返回今天0点的时间戳。 | 1508083200000 |
${timestamp(dateformat(yyyyMMdd,-1,DAY))} | 返回昨天0点的时间戳。 | 1507996800000 |
${timestamp(dateformat(yyyyMMddHH))} | 返回当前整小时的时间戳。 | 1508115600000 |
说明
添加完字段后,新增的字段在界面不显示样值,不会影响字段值的传输,CDM会将字段值直接写入目的端。
这里“添加字段”中“自定义字段”的功能,要求源端连接器为JDBC连接器、HBase连接器、MongoDB连接器、ElasticSearch连接器、Kafka连接器,或者目的端为HBase连接器。
4.单击“下一步”配置任务参数,一般情况下全部保持默认即可。
该步骤用户可以配置如下可选功能:
- 作业失败重试:如果作业执行失败,可选择是否自动重试,这里保持默认值“不重试”。
- 作业分组:选择作业所属的分组,默认分组为“DEFAULT”。在CDM“作业管理”界面,支持作业分组显示、按组批量启动作业、按分组导出作业等操作。
- 是否定时执行:如果需要配置作业定时自动执行,这里保持默认值“否”。
- 抽取并发数:设置同时执行的抽取任务数。这里保持默认值“1”。
- 是否写入脏数据:如果需要将作业执行过程中处理失败的数据、或者被清洗过滤掉的数据写入OBS中,以便后面查看,可通过该参数配置,写入数据前需要先配置好OBS连接。这里保持默认值“否”即可,不记录脏数据。
- 作业运行完是否删除:这里保持默认值“不删除”。
5.单击“保存并运行”,回到作业管理的表/文件迁移界面,在作业管理界面可查看作业执行进度和结果。
6.作业执行成功后,单击作业操作列的“历史记录”,可查看该作业的历史执行记录、读取和写入的统计数据。
在历史记录界面单击“日志”,可查看作业的日志信息。