1

我写了一个使用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++ 中的静态链接)?

不是如何使用 PIG 包含外部 jar 文件的重复,因为我不能使用 -D 选项并且在 pig 脚本中注册 Joda Time 没有效果。

4

1 回答 1

1

问题是 pig 带有 Joda 1.6,其中 LocalDate 没有 parse() 方法。最简单和最安全的解决方法是在 maven 中使用 1.6 并使用 1.6 Joda Time 重写您的代码。

于 2015-06-28T08:02:18.760 回答