Hive 将行插入到将数组作为文件之一的配置单元表时出现错误10293

Hive 将行插入到将数组作为文件之一的配置单元表时出现错误10293,hive,Hive,我使用以下查询创建了一个配置单元表: create table arraytbl (id string, model string, cost int, colors array <string>,size array <float>) row format delimited fields terminated by ',' collection items terminated by '#'; 我得到以下错误: FAILED: SemanticException [

我使用以下查询创建了一个配置单元表:

create table arraytbl (id string, model string, cost int, colors array <string>,size array <float>)
row format delimited fields terminated by ',' collection items terminated by '#';
我得到以下错误:

FAILED: SemanticException [Error 10293]: Unable to create temp file for insert values Expression of type TOK_FUNCTION not supported in insert/values

如何解决这个问题?

syantax在复杂数据类型中输入值有点奇怪,但这是我个人的观点

您需要一个虚拟表来向具有复杂数据类型的配置单元表中插入值

insert into arraytbl select "AA","AAA",5600, array("red","blue","green"), array(CAST(5.6 AS FLOAT),CAST(4.3 AS FLOAT)) from (select 'a') x;
这就是插入后的外观

hive> select * from arraytbl;
OK
AA  AAA 5600    ["red","blue","green"]  [5.6,4.3]
hive> select * from arraytbl;
OK
AA  AAA 5600    ["red","blue","green"]  [5.6,4.3]