2017-11-27 1 views
0

Ich erhalte die "SemanticException [Fehler 10002]: Ungültige Spaltenreferenz" beim Ausführen der folgenden Anweisung.
CREATE TABLE IF NOT EXISTS default.employee_details_3(FirstName VARCHAR(20),LastName VARCHAR(20)) COMMENT 'This is a test table mod' PARTITIONED BY(Emp_id INT,Gender VARCHAR(15),EmailAddress VARCHAR(40)) CLUSTERED BY(Emp_id,Gender,EmailAddress) INTO 14 BUCKETS ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS SEQUENCEFILE ;Beim Ausführen der Hive Create Table-Anweisung eine Ausnahme erhalten

Ich habe den folgenden Link als Referenz
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-CreateTable

Antwort

0

Der Fehler ist, weil Sie tun, Partitionierung und bucketing auf der gleichen Säule verwendet. Sie können die selbe Spalte nicht in der Klausel partitioned by sowie clustered by verwenden. verwenden Sie verschiedene Spalten, es wird funktionieren. Versuchen Sie die folgende Abfrage:

CREATE TABLE IF NOT EXISTS default.employee_details_3 
(FirstName VARCHAR(20), 
LastName VARCHAR(20)) COMMENT 'This is a test table mod' 
PARTITIONED BY(Emp_id INT,Gender VARCHAR(15),EmailAddress VARCHAR(40)) 
CLUSTERED BY(FirstName) INTO 14 BUCKETS 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS SEQUENCEFILE ; 
Verwandte Themen