S05004
错误代码
S05004
报错信息
The column [ZZZ] expects type of XXX, but the actual type is YYY. RefId:S05004
错误原因
向分布式表中类型为 T1 的列里写入类型为 T2 的数据,当 T1 和 T2 不兼容时,会报该错误。当且仅当以下条件之一成立时,T1 和 T2 才是兼容的:
- T1 和 T2 相同,比如都是 INT。
- T1 和 T2 所属的分类(catagory)一样,比如 INT 和 LONG 都属于 Integral,则为兼容。
- T1 属于 Floating 类别,T2 属于 Integral 类别。
- T1 属于 DECIMAL 类别,T2 属于 Integral 或 Floating 类别。
解决办法
检查表和写入数据的数据类型,可尝试如下方法:
- 修改表的 schema。
- 如果表的 schema 无法修改,对写入的数据的类型进行显示的类型转换。