pig错误1070

omqzjyyz  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(276)

我正试着把我自己的自定义项装进Pig里。我使用eclipse的export函数将其制作成一个jar。我正在尝试在本地运行它,以便在将jar放在hdfs上之前确保它正常工作。在本地运行时,出现以下错误: ERROR 1070: Could not resolve myudfs.MONTH using imports: [, org.apache.pig.builtin., org.apache.pig.impl.builtin.] ###脚本

REGISTER myudfs.jar; 
--DEFINE MONTH myudfs.MONTH;

A = load 'access_log_Jul95' using PigStorage(' ') as (ip:chararray, dash1:chararray, dash2:chararray, date:chararray, getRequset:chararray, status:int, port:int);
B = FOREACH A GENERATE myudfs.MONTH(date);
DUMP B;

功能

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

@SuppressWarnings("deprecation")
public class HOUR 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.substring(1, 3);
        }catch(Exception e){
            throw WrappedIOException.wrap("Caught exception processing input row ", e);
        }
    }
}

工作目录

1.pig  2.pig  bin  myudfs.jar  
pig.jar  pig-withouthadoop.jar  src/

运行命令 pig -x local 2.pig ###罐的结构

0  Thu May 02 12:16:26 MDT 2013 META-INF/
68  Thu May 02 12:16:26 MDT 2013 META-INF/MANIFEST.MF
 0  Thu May 02 12:05:50 MDT 2013 myudfs/
573 Thu May 02 12:15:10 MDT 2013 myudfs/HOUR.java

我真的很接近开始扔显示器,所以我只是在寻找一些帮助和方向。让我知道可能有什么问题。

qqrboqgw

qqrboqgw1#

您的自定义项类名称为 HOUR 所以你的Pig拉丁语不应该是这个吗?

B = FOREACH A GENERATE myudfs.HOUR(date);

相关问题