Oozie Hive行动在SerDe上失败

时间:2013-04-04 19:10:44

标签: hadoop hive oozie

我从oozie hive动作工作流程中收到错误:

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], 
      main() threw exception, org/apache/hadoop/hive/serde2/SerDe
      java.lang.NoClassDefFoundError: org/apache/hadoop/hive/serde2/SerDe

我正在使用CDH4.2,HUE 2.2和JSON-SerDe(rcongiu-hive-json-serde)作为我的hive表SerDe。

Hive查询脚本没问题,我已成功在hive控制台中运行它。我已经设置了oozie共享库。是什么让我非常困惑,我在使用默认表(不使用特殊的SerDe)提交hive工作流时没有错误,但是当我更改为我的JSON-SerDe表时,它总是失败。 ADD JAR /path-to/serde.jar也不起作用。

1 个答案:

答案 0 :(得分:0)

我通过将Serde JAR文件放在应用程序的lib路径中解决了此错误。

下面是我的HDFS目录结构:

/user/manoj/app/workflow.xml
/user/manoj/app/lib/json-serde-1.3-jar-with-dependencies.jar

PS:您可能有任何版本的serDe JAR,我之所以使用json-serde-1.3-jar-with-dependencies.jar是因为我在其他答案中发现该版本也支持反序列化并且对我有用。我在hive-serde.jar中遇到“无法反序列化”错误。