2017-05-02 3 views
1
While trying to execute the create table statement in hive getting the below error. 

CREATE EXTERNAL TABLE BOOKDATA(
    > TITLE VARCHAR(40), 
    > PRICE INT 
    > )ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe' 
    > WITH SERDEPROPERTIES (
    > "column.xpath.TITLE"="/CATALOG/BOOK/TITLE/", 
    > "column.xpath.PRICE"="/CATALOG/BOOK/PRICE/") 
    > STORED AS 
    > INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat' 
    > OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat' 
    > LOCATION '/sourcedata' 
    > TBLPROPERTIES (
    > "xmlinput.start"="<CATALOG", 
    > "xmlinput.end"= "</CATALOG>" 
    > ); 

FAILED: SemanticException Kann nicht Klasse 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'XmlSerde Fehler in hive

Bitte helfen Sie, wie zu lösen dieses issue.I bin mit hive finden CLI.

+1

Haben Sie das nützliche Glas hinzugefügt? –

+0

Wenn ich jedes Mal auf der Bienenstock-Sitzung hinzufüge, läuft es gut. Wie füge ich es dauerhaft hinzu, so dass, wenn ich die Hive-Sitzung starte, es dieses Jar automatisch aktiviert. (Fyi, ich benutze Mapr Sandbox)? (Ich habe die Option versucht, das serde jar in den lib-Ordner zu stellen und diesen Pfad in hive-site.xml zu referenzieren). –

Antwort

0

https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-QueryandDDLExecution

1.

Erfordert Neustart HiveServer2

hive.aux.jars.path
- Standardwert: (leer)
- Eingefügt in: Hive 0.2.0 oder früher
Der Speicherort der Plugin-Jars, die Implementierungenenthaltenvon benutzerdefinierten Funktionen (UDFs) und SerDes.

2.

hive.reloadable.aux.jars.path
- Standardwert: (leer)
- Eingefügt in: Hive 0.14.0 mit HIVE-7553
Die Speicherorte der Plugin-Jars, die durch Kommas getrennte Ordner oder Jars sein können. Sie können erneuert werden (hinzugefügt, entfernt, oder aktualisiert), indem Sie den Beeline-Befehl reload ausführen, ohne HiveServer2 neu starten zu müssen. Diese Jars können genauso wie die zusätzlichen Klassen in hive.aux.jars.path zum Erstellen von UDFs oder SerDes verwendet werden.

+0

Danke! es funktionierte.!! –

0

Ich sah auch ein ähnliches Problem in der Vergangenheit. Was für mich funktionierte, ist nur den Stock Motor zu tez zu ändern.

set hive.execution.engine = tez;

Wenn Sie Tez-Engine festlegen, wird es alle Gläser abholen, die es benötigt, um eine Abfrage auszuführen.

Lassen Sie mich wissen, ob das für Sie funktioniert.

Verwandte Themen