简单的插入查询到hive给出错误

时间:2017-08-27 03:47:27

标签: hadoop hive cloudera hiveql cloudera-cdh

我在Cloudera CDH中创建了一个简单的表。使用的版本是Hive 1.1.0 CDH 5.8。

create table student(id decimal, name varchar(100), valid char(1) ) 
clustered by (id) into 2 buckets 
stored as orc TBLPROPERTIES('transactional'='true');

当我尝试执行插入语句

insert into student (id,name,valid) values (1, 'ABC', 'Y');

它出现以下错误

  

NoViableAltException无法识别'('''id'''''附近的输入   声明

如果我省略插入查询中的列名,它可以正常工作。 我在Apache Hive上尝试了同样的事情,并且带有列名的插入查询工作正常。

我想在insert查询中指定列名,因为我将插入到列的子集中。有关如何使其工作的任何指示?

由于

1 个答案:

答案 0 :(得分:1)

Hive 1.2中支持INSERT语句中的列列表规范 https://issues.apache.org/jira/browse/HIVE-9481

对于早期版本,您应该按照目标表中的顺序向所有列插入值 对于某些列,您可能需要使用硬编码值 -
NULL或一些默认值。

相关问题