记录数据迁移入库时间
CDM在创建表/文件迁移的作业,支持连接器源端为关系型数据库时,在表字段映射中使用时间宏变量增加入库时间字段,用以记录关系型数据库的入库时间等用途。
前提条件
- 已创建连接器源端为关系型数据库,以及目的端数据连接。
- 目的端数据表中已有时间日期字段或时间戳字段。如自动创表场景下,需提前在目的端表中手动创建时间日期字段或时间戳字段。
创建表/文件迁移作业
- 在创建表/文件迁移作业时,选择已创建的源端连接器、目的端连接器。
图1 配置作业
- 单击“下一步”,进入“字段映射”配置页面后,单击源字段图标。
图2 配置字段映射
- 选择“自定义字段”页签,填写字段名称及字段值后单击“确认”按钮,例如:
名称:InputTime。
值:${timestamp()},更多时间宏变量请参见表1。图3 添加字段
表1 时间变量宏定义具体展示 宏变量
含义
实际显示效果
${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连接器。
- 添加完字段后,请确保自定义入库时间字段与目的端表字段类型相匹配。
- 单击“下一步”配置任务参数,一般情况下全部保持默认即可。
- 单击“保存并运行”,回到作业管理的表/文件迁移界面,在作业管理界面可查看作业执行进度和结果。
- 作业执行成功后,单击作业操作列的“历史记录”,可查看该作业的历史执行记录、读取和写入的统计数据。
在历史记录界面单击“日志”,可查看作业的日志信息。
- 前往目的端数据源查看数据迁移的入库时间。