【发布时间】:2015-06-27 18:54:36
【问题描述】:
我写了一个使用Joda Time 的UDF。我将它作为依赖项包含在 pom.xml 中。当我运行我的猪脚本时,我得到了错误
ERROR 2998: Unhandled internal error. org.joda.time.LocalDate.parse(Ljava/lang/String;)Lorg/joda/time/LocalDate;
我对 java、maven 和 hadoop 还是很陌生。如何将 joda 捆绑到我在集群上运行的 jar 中(如 c/c++ 中的静态链接)?
这是 NOT how to include external jar file using PIG 的副本,因为我不能使用 -D 选项并且在 pig 脚本中注册 Joda Time 无效。
【问题讨论】:
-
没有我的 UDF 包含并运行。
-
您的代码抛出了 java.lang.NoClassDefFoundError 异常。找到丢失的 jar(joda-time),然后将其作为运行时依赖项包含在您的 pig 脚本中。
-
@elcodedocle 参数 -D 在我的 macine (0.13) 上不被接受。
-
一个明显的 Stackoverflowitis 案例。 Down and closevoting,同时以傲慢的方式忽略问题的内容,指代另一个包含一些相似词的显然重复的任务。感谢 Fred 真正阅读了这个问题。
标签: java hadoop apache-pig dependency-management udf