2016-08-03 22 views
0

Ich habe versucht, einige Hive-Abfragen aus meinem Spark-Code mit dem HiveContext-Objekt auszuführen. Es funktionierte gut, wenn ich es über die Befehlszeile mit Spark Submit ausführte. Aber ich bekomme die folgende Ausnahme, wenn ich versuche, dasselbe aus einem Oozie-Workflow heraus zu tun.HiveContext funktioniert nicht von Oozie

User class threw exception: java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 

Antwort

2

Sie sollten die Hive-Sharelib zur Spark-Aktion hinzufügen, wenn Hive-Klassen verwendet werden. Sie können die folgende Eigenschaft entweder in Oozie-default.xml, im Workflow oder in der Aktion Konfiguration:

<configuration> 
    <property> 
     <name>oozie.action.sharelib.for.spark</name> 
     <value>spark,hive</value> 
    </property> 
</configuration> 
+0

ich den Workflow mit der obigen Eigenschaft aktualisiert und der Workflow war ein Erfolg. Aber ich konnte die Tabellen, die ich erstellt habe, nicht finden. – yAsH

+0

Sie müssen die Datei hive-site.xml möglicherweise in das Tag des Workflows und in Spark einfügen, indem Sie die Datei --file pathi/to/hive-site.xml im Tag verwenden. – gezapeti