阅读866 返回首页    go 阿里云 go 技术社区[云栖]


类型转换__进阶与深入_数据集成-阿里云

由于历史遗留问题,CDP在面对各类异构数据同步过程仍然难以避免源宿两端数据类型不匹配情况,例如用户需要从Mysql的Varchar类型导入ODPS的BIGINT类型。对于较为通用的数据类型转换CDP自身提供了统一的框架级定义,方便用户需要在不同数据类型中做转换。

类型 转换 Long Double String Date Bool Byte
Long Y Y Y [1] [2] N
Double Y Y Y N N N
String [3] [4] Y [5] [6] N
Date [7] N [8] Y N N
Bool [9] N Y N Y N
Bytes N N [10] N N Y

CDP默认的类型转换规则处理了大部分通用的数据转换规则。针对部分数据类型转换,CDP规则需要用户知晓:

[1] Long转换为Date,将Long数值视作Java提供Unix时间戳转换为Date,精度为毫秒。

[2] Long转换为Bool,0视为false,否则为true

[3] String转换为Long,整数型字符串支持转换为Long,否则报错。不支持科学计数法字符串。

[4] String转换为Double,浮点型字符串支持转换为Long,否则报错。不支持科学计数法。

[5] String转换为Date,用户自定义时间格式(例如YYYY-MM-DD),满足用户时间格式可以转换,否则报错。

[6] String转换为Bool,“true”转为true,”false”转为false,其他报错。

[7] Date转为Long,将Date转为Unix时间戳。

[8] Date转换为String,根据用户自定义时间格式(例如YYYY-MM-DD)转换为字符串。

[9] Bool转换为Long,true转为1,false转为0。

[10] Bytes转换为String,根据用户指定的字符集编码转为String。

注意:CDP传输过程中自动进行编码转换,例如CDP自动从Mysql GBK的字段导入ODPS UTF-8字段,用户不需要干预。

最后更新:2016-05-06 10:43:33

  上一篇:go 数据类型支持情况__进阶与深入_数据集成-阿里云
  下一篇:go 可重跑与幂等性__进阶与深入_数据集成-阿里云