如何解决解析过程中的“错误”无法示例化“in pig”?

dced5bon  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(359)

大家好,我是新来的Pig,我正在尝试以下Pig脚本:
然后显示以下错误:error 1000:解析期间出错。无法在日志文件:/home/training/pig\ 1371303109105.log中示例化参数为“null”的“uper”
我的Pig剧本:

register udf.jar; 
A = LOAD 'data1.txt' USING PigStorage(',') AS (name:chararray, class:chararray, age:int);
B = foreach A generate UPER(class);

我遵循这个教程。
我的java类是:

enter code here

import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
import java.io.*;

public class UPER extends EvalFunc<String>{

    @Override
    public String exec(Tuple input) throws IOException {
        // TODO Auto-generated method stub
        if(input == null ||input.size() ==0)
         return null;
         try
         {
            String str=(String)input.get(0); 
            return str.toUpperCase(); 
         }
          catch(Exception e){
              throw new IOException("Caught exception processing input row ", e);

          }}
}
kcwpcxri

kcwpcxri1#

我从您的错误日志中找到以下信息:

Caused by: java.lang.Error: Unresolved compilation problem:
        The type org.apache.commons.logging.Log cannot be resolved. It is indirectly referenced from required .class files

        at UPER.<init>(UPER.java:1)

我猜是的 org.apache.commons.logging.Log 不在你的环境中。你的Pig剧本是怎么写的?这个班应该在Pig的环境里。 org.apache.commons.logging.Logcommons-logging-*.*.*.jar

相关问题