云数据迁移 CDM-日志提示解析日期格式失败时怎么处理?:解决方法

时间:2024-11-12 11:45:41

解决方法

  1. 编辑作业,进入作业的字段映射步骤,在源端的时间格式字段后面,选择新建转换器,如图3所示。
    图3 新建转换器
  2. 转换器类型选择“表达式转换”,目前表达式转换支持字符串和日期类型的函数,语法和Java的字符串和时间格式函数非常相似,可以查看表达式转换了解如何编写表达式。
  3. 本例中源时间格式是“yyyy/MM/dd HH:mm:ss”,要将其转换成“yyyy-MM-dd HH:mm:ss.SSS Z”,需要经过如下几步:
    1. 添加时区信息“+0800”到原始日期字符串的尾部,对应的表达式为:value+" +0800"
    2. 使用原始日期格式来解析字符串,将字符串解析为一个日期对象。可以使用DateUtils.parseDate函数来解析,语法是:DateUtils.parseDate(String value, String format)
    3. 将日期对象格式化成目标格式的字符串,可以使用DateUtils.format函数来格式化,语法是DateUtils.format(Date date, String format)

    因此本例中串起来完整的表达式是:DateUtils.format(DateUtils.parseDate(value+" +0800","yyyy/MM/dd HH:mm:ss Z"),"yyyy-MM-dd HH:mm:ss.SSS Z"),如图4所示。

    图4 配置表达式
  4. 保存转换器配置,再保存并运行作业,可解决 云搜索服务 的解析日期格式失败问题。
support.huaweicloud.com/cdm_faq/cdm_01_0041.html