2

私はPigとOozieを初めて使用するので、これは初心者の質問かもしれませんが、運が悪いので、どこでも答えを探しました... PigでUDFを実行しようとしています.UDFはevalのJARですオーバーロードされたメソッド ( http://wiki.apache.org/pig/UDFManualから取得):

package myudfs;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
import org.apache.pig.impl.util.WrappedIOException;

public class UPPER extends EvalFunc<String>
{
    public String exec(Tuple input) throws IOException {
        if (input == null || input.size() == 0)
            return null;
        try {
            String str = (String)input.get(0);
            return str.toUpperCase();
        } catch(Exception e) {
            throw e;
        }
    }
}

Pig スクリプトは次のとおりです。

REGISTER myudfs.jar;
Raw = LOAD '/user/piguser/input' AS (name: chararray, age: int, gpa: int);
x = FOREACH Raw GENERATE myudfs.UPPER(name);
RMF 'output';
STORE x INTO 'output';

これをローカル (pig -f script.pig.txt) で実行すると、目的の結果が得られますが、これを Oozie ( oozie job -oozie http://localhost:11000/oozie -config job.properties -run) で実行すると、次のエラーが表示されます: エラー 101: ローカル ファイル 'myudfs.jar' は実行します存在しない。

何をするように提案しますか?

前もって感謝します :)

4

1 に答える 1