我有旧版本的hive,在hive 2.0下面,在这个hive版本中我创建了一个表:
create table test (int id, string name, values array<string>)
当我添加数据时,我使用此查询:
insert into table test select 1, 'Sam', array('sql', 'c++', 'c#', 'java')
它可以工作,但是我需要在表格中加载多行,例如:
insert into table select (1, 'Sam', array('sql', 'c++', 'c#', 'java')), (2, 'AN Other', array('paskal'))
我怎么能这样做?
答案 0 :(得分:0)
Hive不支持在这样的
中使用UDFINSERT INTO TABLE test VALUES (1, 'Sam', array('sql', 'c++', 'c#', 'java')), (2, 'test1', array('paskal'));
你会得到像
这样的东西Unable to create temp file for insert values Expression of type TOK_FUNCTION not supported in insert/values
解决方法就是这样
INSERT INTO TABLE test
select 1, 'Sam', array('sql', 'c++', 'c#', 'java')
union all
select 2, 'test1', array('paskal');