我是PIG和Hadoop的新手。我编写了一个PIG UDF,它在String上运行并返回一个字符串。我实际上使用了一个已经存在的jar中的类,它包含了udf中的业务逻辑。类构造函数将2个文件名作为输入,用于构建用于处理输入的一些字典。如何让它在mapreduce模式下工作我尝试在猪本地模式下传递文件名它工作正常。但我不知道如何使它在mapreduce模式下工作?分布式缓存可以解决问题吗?
这是我的代码
REGISTER tokenParser.jar
REGISTER sampleudf.jar;
DEFINE TOKENPARSER com.yahoo.sample.ParseToken('conf/input1.txt','conf/input2.xml');
A = LOAD './inputHOP.txt' USING PigStorage() AS (tok:chararray);
B = FOREACH A GENERATE TOKENPARSER(tok);
STORE B into 'newTokout' USING PigStorage();
据我所知,tokenParser.jar必须使用某种BufferedInputReader。是否可以在不更改tokenParser.jar的情况下使其工作