标题有点奇怪,因为我很难缩小问题范围。我在 Hadoop 2.0.0-cdh4.4.0 和 hive 0.10 上使用我的解决方案,没有出现任何问题。
- 我无法使用此 SerDe 创建表:https://github.com/rcongiu/Hive-JSON-Serde
第一次尝试:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector.<init>(Lorg/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils$PrimitiveTypeEntry;)V
第二次尝试:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Could not initialize class org.openx.data.jsonserde.objectinspector.JsonObjectInspectorFactory
我可以用这个 SerDe 创建一个表:https://github.com/cloudera/cdh-twitter-example
-
我使用来自水槽的推文创建了一个外部表。我无法执行“从推文中选择*;”
失败:RuntimeException org.apache.hadoop.hive.ql.metadata.HiveException:失败,异常 java.lang.ClassNotFoundException:com.cloudera.hive.serde.JSONSerDejava.lang.RuntimeException:java.lang.ClassNotFoundException:com.cloudera。 hive.serde.JSONSerDe
我可以从推文中选择 id、文本;
- 我可以执行 SELECT COUNT(*) FROM tweets;
-
我无法自行加入该表:
执行日志位于:/tmp/jochen.debie/jochen.debie_20140311121313_164611a9-b0d8-4e53-9bda-f9f7ac342aaf.log
2014-03-11 12:13:30 开始启动本地任务来处理映射加入;最大内存 = 257294336
执行失败,退出状态:2
获取错误信息
任务失败!
任务编号:
第五阶段
提到的执行日志:
2014-03-11 12:13:30,331 ERROR mr.MapredLocalTask (MapredLocalTask.java:executeFromChildJVM(324)) - Hive Runtime Error: Map local work failed
org.apache.hadoop.hive.ql.metadata.HiveException: Failed with exception java.lang.ClassNotFoundException: com.cloudera.hive.serde.JSONSerDejava.lang.RuntimeException: java.lang.ClassNotFoundException: com.cloudera.hive.serde.JSONSerDe
有谁知道如何解决这个问题,或者至少告诉我问题出在哪里?
编辑:我在 Hadoop 2.0.0-cdh4.4.0 和 hive 0.10 上构建 serde 会是一个问题吗?
据我所知,Hive-.11+ 在与自定义 SerDe 连接时存在错误。
https://github.com/Esri/gis-tools-for-hadoop/issues/9
您可以尝试将包含 SerDe 类的 JAR 文件复制到 $HIVE_HOME/lib 的解决方法。
(我在你的问题中看到你在 join 和其他情况下都遇到了 ClassNotFoundException ;到目前为止,我遇到的都是在 join 中遇到的。)
[编辑] 另一种解决方法是使用 HADOOP_CLASSPATH:
env HADOOP_CLASSPATH=some.jar:other.jar hive ...
[编辑] 解决方法适用于 Hive 版本 0.11 和 0.12;那么 0.13 及更高版本包含以下修复HIVE-6670.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)