我在hive表中有一个复杂的数据类型列,它是struct,在struct中,我有decimal数据类型。当我用另一个table.How做插入覆盖操作时,我想把这个结构(十进制(10,0))转换成结构(Double)或结构(浮点数),我能做到吗,因为当我尝试它给我一个错误时-
FAILED: SemanticException [Error 10044]: Line 1:23 Cannot insert into
target table because column number/types are different 'avro_poc_orc_test': Cannot convert column 3 from struct<latitude:decimal(28,2),longitude:decimal(19,3)> to struct<latitude:double,longitude:double>.是否可以将复杂数据类型转换为另一种复杂数据类型?
发布于 2017-06-18 02:25:17
在强制转换相关字段的同时,从其组件构造结构
演示
with t as (select struct(cast (123 as decimal(10,0)),222,333,444) as s)
select struct(cast(t.s.col1 as double),t.s.col2,t.s.col3,t.s.col4)
from t
;https://stackoverflow.com/questions/44607351
复制相似问题