文档首页/ 云数据迁移 CDM/ 最佳实践/ 进阶实践/ 记录数据迁移入库时间
更新时间:2023-07-14 GMT+08:00

记录数据迁移入库时间

CDM在创建表/文件迁移的作业,支持连接器源端为关系型数据库时,在表字段映射中使用时间宏变量增加入库时间字段,用以记录关系型数据库的入库时间等用途。

前提条件

  • 已创建连接器源端为关系型数据库,以及目的端数据连接。
  • 目的端数据表中已有时间日期字段或时间戳字段。如自动创表场景下,需提前在目的端表中手动创建时间日期字段或时间戳字段。

创建表/文件迁移作业

  1. 在创建表/文件迁移作业时,选择已创建的源端连接器、目的端连接器。

    图1 配置作业

  2. 单击“下一步”,进入“字段映射”配置页面后,单击源字段图标。

    图2 配置字段映射

  3. 选择“自定义字段”页签,填写字段名称及字段值后单击“确认”按钮,例如:

    名称: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连接器。
    • 添加完字段后,请确保自定义入库时间字段与目的端表字段类型相匹配。

  4. 单击“下一步”配置任务参数,一般情况下全部保持默认即可。
  5. 单击“保存并运行”,回到作业管理的表/文件迁移界面,在作业管理界面可查看作业执行进度和结果。
  6. 作业执行成功后,单击作业操作列的“历史记录”,可查看该作业的历史执行记录、读取和写入的统计数据。

    在历史记录界面单击“日志”,可查看作业的日志信息。

  7. 前往目的端数据源查看数据迁移的入库时间。