记录数据迁移入库时间
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连接器。
- 单击“下一步”配置任务参数,一般情况下全部保持默认即可。
该步骤用户可以配置如下可选功能:
- 作业失败重试:如果作业执行失败,可选择是否自动重试,这里保持默认值“不重试”。
- 作业分组:选择作业所属的分组,默认分组为“DEFAULT”。在CDM“作业管理”界面,支持作业分组显示、按组批量启动作业、按分组导出作业等操作。
- 是否定时执行:如果需要配置作业定时自动执行,这里保持默认值“否”。
- 抽取并发数:设置同时执行的抽取任务数。这里保持默认值“1”。
- 是否写入脏数据:如果需要将作业执行过程中处理失败的数据、或者被清洗过滤掉的数据写入OBS中,以便后面查看,可通过该参数配置,写入脏数据前需要先配置好OBS连接。这里保持默认值“否”即可,不记录脏数据。
- 作业运行完是否删除:这里保持默认值“不删除”。
- 单击“保存并运行”,回到作业管理的表/文件迁移界面,在作业管理界面可查看作业执行进度和结果。
- 作业执行成功后,单击作业操作列的“历史记录”,可查看该作业的历史执行记录、读取和写入的统计数据。
在历史记录界面单击“日志”,可查看作业的日志信息。