2017-08-27 69 views
0

我有一個在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'); 

它提供了以下錯誤

NoViableAltException無法識別附近輸入 '(' '' ID '' '' 聲明

如果我省略了列名在插入查詢中,它工作正常。 我在Apache Hive上嘗試了同樣的事情,並且列名稱的插入查詢正常工作。

我想指定插入查詢中的列名,因爲我將插入到列的子集中。任何關於如何讓這個工作的指針?在INSERT語句

感謝

回答

1

列列表規格支持的蜂巢1.2
https://issues.apache.org/jira/browse/HIVE-9481

對於早期版本,你應該通過他們在目標表的順序插入值,所有列。
對於某些列,您可能需要使用硬編碼值 -
NULL或某些默認值。