gpt4 book ai didi

hadoop - Apache Pig:Guice创建错误。 java.lang.NoSuchMethodError

转载 作者:行者123 更新时间:2023-12-02 21:24:21 25 4
gpt4 key购买 nike

我正在尝试编写使用UDF的Pig脚本。运行它时,我遇到“向导创建错误”,例如“java.lang.NoSuchMethodError”。显然,我的hadoop环境使用的Guice版本与我使用的版本不同。我尝试了将Jar放在前面的几种方法,例如:

  • 注册my.jar
  • 将其添加到“PIG_CLASSPATH”,“HADOOP_CLASSPATH”,“CLASSPATH”的前面。
  • 尝试过:导出HADOOP_USER_CLASSPATH_FIRST = true
  • -Dmapreduce.job.user.classpath.first = true

  • 这些都不起作用! Hadoop版本号: Hadoop 2.6.0-cdh5.4.5

    这是我的简单脚本:
    REGISTER my.jar;
    A = LOAD '/tmp/mydir/' AS (line:chararray);
    B = FOREACH A generate com.mypackage.udf.MyUdf(line);
    dump B;

    最佳答案

    在注册udf.jar的同时提供绝对解决方案的路径

    要么

    使用其他jar命令提供了jar。

    pig -Dpig.additional.jars=/absolute/path/of/jar/my.jar [your_other_paramter]



    另外,您可以在脚本顶部定义UDF的名称,这样就不必每次都提供完整的UDF名称。
    REGISTER /absolute/path/of/my.jar;
    define MyUDF com.mypackage.udf.MyUdf(line)
    A = LOAD '/tmp/mydir/' AS (line:chararray);
    B = FOREACH A MyUDF(line);
    dump B;

    关于hadoop - Apache Pig:Guice创建错误。 java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36484114/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com