向配置单元中简单插入查询时出错

px9o7tmv  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(377)

我在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语句时

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

它给出了以下错误
NoviableException无法识别语句中“(“”'id“”,”附近的输入
如果我在insert查询中省略列名,它就可以正常工作。我在apache配置单元上也尝试了同样的方法,使用列名的insert查询可以正常工作。
我想在insert查询中指定列名,因为我将插入到列的子集中。有没有关于如何让它工作的建议?
谢谢

doinxwow

doinxwow1#

从配置单元1.2开始,insert语句中的列列表规范受支持
https://issues.apache.org/jira/browse/hive-9481
对于早期版本,应该按列在目标表中的顺序向所有列插入值。
对于某些列,可能需要使用硬编码值-
null或某些默认值。

相关问题