2 つの入力ファイル 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. ]
これらをプロジェクトにインポートするにはどうすればよいですか、またはこのプログラムを実行するための提案/解決策はありますか?