我有两个输入文件 smt.txt 和 smo.txt。jar 文件读取文本文件并根据 java 文件中描述的某些规则拆分数据。pig 文件通过执行 mapreduce 将这些数据放入输出文件中。
register 'maprfs:///user/username/fl.jar';
DEFINE FixedLoader fl();
mt = load 'maprfs:///user/username/smt.txt' using FixedLoader('-30','30-33',...........) AS (.........);
mo = load 'maprfs:///user/username/smo.txt*' using FixedLoader('-30','30-33',.....) AS (......);
store mt into 'maprfs:///user/username/mt_out' using JsonStorage();
store mo into 'maprfs:///user/username/mo_out' using JsonStorage();
和下面的一部分java代码。(我相信方法的内容不是必需的):
package com.mapr.util;
import org.apache.hadoop.mapreduce.lib.input.*;
import org.apache.hadoop.mapreduce.*;
import org.apache.hadoop.io.*;
import org.apache.pig.*;
import org.apache.pig.data.*;
import org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.*;
import java.util.*;
import java.io.*;
public class FixedLoader extends LoadFunc
{
............
}
当我使用命令“pig -x mapreduce sample.pig”在终端中运行这个猪程序时,我给出了一条错误消息:
错误 org.apache.pig.tools.grunt.Grunt - 错误 1070:无法使用导入解析 com.mapr.util.FixedLoader:[,org.apache.pig.builtin.,org.apache.pig.impl.builtin。 ]
如何将这些导入到我的项目中,或者是否有任何建议/解决方案来运行该程序?