1

こんにちは、豚の初心者です。豚のスクリプトに従って試しています。

次に、次のエラーが表示されます: ERROR 1000: 解析中にエラーが発生しました。ログファイルの詳細: /home/training/pig_1371303109105.log

私の豚のスクリプト:

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);


          }}
}
4

1 に答える 1

2

エラー ログから次の情報を見つけました。

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.Logにあるcommons-logging-*.*.*.jar

于 2013-06-17T06:36:21.290 に答える