更新时间:2022-08-17 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. 单击“下一步”配置任务参数,一般情况下全部保持默认即可。

    该步骤用户可以配置如下可选功能:

    • 作业失败重试:如果作业执行失败,可选择是否自动重试,这里保持默认值“不重试”
    • 作业分组:选择作业所属的分组,默认分组为“DEFAULT”。在CDM“作业管理”界面,支持作业分组显示、按组批量启动作业、按分组导出作业等操作。
    • 是否定时执行:如果需要配置作业定时自动执行,这里保持默认值“否”
    • 抽取并发数:设置同时执行的抽取任务数。这里保持默认值“1”
    • 是否写入脏数据:如果需要将作业执行过程中处理失败的数据、或者被清洗过滤掉的数据写入OBS中,以便后面查看,可通过该参数配置,写入脏数据前需要先配置好OBS连接。这里保持默认值“否”即可,不记录脏数据。
    • 作业运行完是否删除:这里保持默认值“不删除”

  5. 单击“保存并运行”,回到作业管理的表/文件迁移界面,在作业管理界面可查看作业执行进度和结果。
  6. 作业执行成功后,单击作业操作列的“历史记录”,可查看该作业的历史执行记录、读取和写入的统计数据。

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