Apache pig Pig错误2998:未处理的内部错误(错误名称MY_CLASS_name)

Apache pig Pig错误2998:未处理的内部错误(错误名称MY_CLASS_name),apache-pig,udf,Apache Pig,Udf,我在Pig中定义自定义项时出错 这是我的猪脚本: REGISTER 'hdfs://localhost:54310/folder/myudf.jar'; DEFINE MYUD myudf.REDECODE(); 当我执行第二行时,我得到这个错误消息 ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2998: Unhandled internal error. myudf/REDECODE (wrong name: REDECODE) 我的自定

我在Pig中定义自定义项时出错 这是我的猪脚本:

REGISTER 'hdfs://localhost:54310/folder/myudf.jar';
DEFINE MYUD myudf.REDECODE();
当我执行第二行时,我得到这个错误消息

ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2998: Unhandled internal 
error. myudf/REDECODE (wrong name: REDECODE)
我的自定义项功能:

import java.io.IOException;
import java.util.regex.Pattern;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;

import org.apache.pig.PigWarning;
import org.apache.pig.data.DataType;
import org.apache.pig.impl.util.WrappedIOException;
import org.apache.pig.impl.logicalLayer.schema.Schema;

public class REDECODE extends EvalFunc<String> {

...

}
import java.io.IOException;
导入java.util.regex.Pattern;
导入org.apache.pig.EvalFunc;
导入org.apache.pig.data.Tuple;
导入org.apache.pig.PigWarning;
导入org.apache.pig.data.DataType;
导入org.apache.pig.impl.util.WrappedIOException;
导入org.apache.pig.impl.logicalayer.schema.schema;
公共类代码扩展了EvalFunc{
...
}

请帮助我解决这个问题。

根据@Badr注释,REDECODE类在默认包中定义。我们可以直接在脚本中使用REDECODE,或者如果我们需要一个简单的别名来进行REDECODE,那么我们可以使用定义和定义别名,并继续使用别名。

REDECODE类在包myudf中吗?我在UDF类中没有看到包声明语句。我在我的类中没有使用包。在这种情况下,您必须将DEFINE语句修改为:DEFINE MYUD REDECODE();我觉得不需要这个DEFINE语句,你可以直接使用REDECODE()谢谢,我删除了DEFINE,直接使用了REDECODE,正如你说的那样。它解决了问题吗?