2017-08-27 9 views
0

Ich habe eine einfache Tabelle in Cloudera CDH erstellt. Die verwendete Version ist Hive 1.1.0 CDH 5.8.Einfache Einfügen Abfrage in Hive geben Fehler

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

Wenn ich versuche, eine INSERT-Anweisung

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

Es gibt die folgenden Fehler

NoViableAltException erkennen kann nicht Eingabe auszuführen in der Nähe von '(' 'ID' '' '' in Anweisung

Wenn ich den Spaltennamen weglasse s in der Einfügeabfrage funktioniert es gut. Ich habe das gleiche auf Apache Hive versucht, und die Einfügeabfrage mit Spaltenname funktioniert gut.

Ich möchte die Spaltennamen in der Einfügeabfrage angeben, da ich in eine Teilmenge von Spalten einfügen werde. Irgendwelche Hinweise, wie man das zum Laufen bringt?

Dank

Antwort

1

Liste Spalte Spezifikation in INSERT-Anweisung wird als von Hive 1,2
https://issues.apache.org/jira/browse/HIVE-9481

unterstützt Für frühere Versionen Sie Werte für alle Spalten, die durch ihre Reihenfolge in der Zieltabelle einfügen sollten.
Für einige der Spalten müssen Sie möglicherweise hartcodierte Werte verwenden -
NULL oder einige Standardwerte.