gpt4 book ai didi

arrays - Hive:如何在数组 类型的列中插入数据

转载 作者:行者123 更新时间:2023-12-04 01:47:29 27 4
gpt4 key购买 nike

有一个具有以下架构的表:

CREATE TABLE `student_details`(
`id_key` string,
`name` string,
`subjects` array<string>)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'path'

尝试在表中插入值时收到错误消息:

尝试过:

INSERT INTO student_details  values ('AA87U','BRYAN',array('ENG','CAL_1','CAL_2','HST','MUS')); 

错误:

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

这对我来说没有意义。尝试在网上查找并找到类似的:ExternalLink .该解决方案也没有任何意义。

请帮忙。

最佳答案

您不能直接在 Hive 中插入复杂类型。

要么你必须创建一个像下面这样的虚拟表:

INSERT INTO student_details select 'AA87U','BRYAN', array('ENG','CAL_1','CAL_2','HST','MUS') from dummy; 

对于 Hive 2+,您可以在没有虚拟表的情况下运行。

INSERT INTO student_details select 'AA87U','BRYAN', array('ENG','CAL_1','CAL_2','HST','MUS');

关于arrays - Hive:如何在数组 <string> 类型的列中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54680061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com