简单的插入查询到配置单元给出错误

Simple Insert query into hive giving error

我在 Cloudera CDH 中创建了一个简单的 table。使用的版本是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 Cannot recognize input near '(' ''id'' ',' in statement

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

我想在插入查询中指定列名,因为我将插入列的子集。关于如何让它工作的任何指示?

谢谢

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

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