【发布时间】:2015-12-03 15:29:45
【问题描述】:
尝试在 Pig 中定义我的 UDF 时出错 这是我的猪脚本:
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)
我的 udf 函数:
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> {
...
}
如果你能帮我解决这个问题,请。
【问题讨论】:
-
myudf 包中有 REDECODE 类吗?我在 UDF 类中没有看到包声明语句。
-
我不在课堂上使用包
-
在这种情况下,您必须将 DEFINE 语句修改为:DEFINE MYUD REDECODE();我觉得不需要这个 DEFINE 语句你可以直接使用 REDECODE()
-
谢谢你,我删除了DEFINE,我直接用你说的重新解码
-
问题解决了吗?
标签: apache-pig udf