在pig中为udf添加依赖jar

vvppvyoh  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(362)

我有一个自定义项,用于对记录进行自定义处理。在eval函数中,我使用第三方jar进行处理。我看到了jobjar文件,但它不包含这个依赖项。有没有办法在作业jar中包含依赖jar(为了进行测试,我在本地模式下运行集群)。
或者我可以使用分布式缓存使依赖jar对udf可用吗?
我试过在Pig身上注册依赖的jar。对于第一个注册的jar(所有udf都捆绑在这个jar中),我不需要面对这些问题。但是对于第二个jar,当udf试图从中访问类时,我遇到了一些问题。

REGISTER '/home/user/pig/udfrepository/projectUDF.jar'
REGISTER '/home/user/thridpartyjars/xyz.jar';

控制台上的日志如下:

2013-08-11 10:35:02,485 [Thread-14] WARN  org.apache.hadoop.mapred.LocalJobRunner - job_local_0001
java.lang.NoSuchMethodError: org.xyz.abc.convertToOtherFormat(Lorg/DateTimeZone;)Lorg/DateTime;
        at com.myproject.MyUDF.exec(MyUDF.java:70)

在此方面的任何帮助都将不胜感激。提前谢谢。

z9smfwbn

z9smfwbn1#

我在这里发现并记录了相同的问题:
http://hadooptips.wordpress.com/2013/08/13/nosuchmethoderror-while-using-joda-time-2-2-jar-in-pig/

相关问题