从pig脚本将值传递给UDF中的参数化构造函数

时间:2013-05-28 05:52:16

标签: java hadoop jar apache-pig

我在UDFS中有一个参数化构造函数。

public WordMapList(String filePath)
    {
        filePt=filePath;
    }

使用main方法:

package customudfs;
public class WordMapList extends EvalFunc<String> {

    String filePt;

    public String exec(Tuple input) throws IOException {
    // code for reading file
    }

我的猪脚本包含以下代码:

 DEFINE WordMapList customudfs.WordMapList('/hhh/xxx/yyy/zzz/wordMapFile.txt');

但是当我尝试使用代码运行脚本时

 exec wordMap.pig 

它出现以下错误:

  

[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200:猪脚本   无法解析:无法生成逻辑计划。   嵌套异常:java.lang.RuntimeException:无法实例化   带有参数'null'的'customudfs.WordMapList'

1 个答案:

答案 0 :(得分:0)

您应该粘贴完整的日志。有时会发生这种情况,因为ClassNotFoundException缺少

register ....jar ;

但是有一些运气的日志的完整堆栈跟踪将告诉你。