reduceクラスのcloseメソッドに出力コレクターがあります。出力コレクターの形式は次のとおりです。<Text, Text>
キーとしてTextname_txtを渡し、値としてTextvalを渡します。
テキストname_txtとテキストvalの両方を出力するとnullではないことがわかりますが、出力にを設定すると、output.collect(name_str、val);でnullポインター例外が発生します。
わかりやすくするために、以下のコードを添付しました。plsは助けます!
private OutputCollector<Text, Text> output;
public void close() throws IOException {
for(int i = 0; i<arraylist.size(); i++)
{
String name = arraylist.get(i).getToken();
Text name_txt = new Text(name);
System.out.println("name_txt: "+name_txt);
Text val = new Text("hi");
output.collect(name_txt, val);
}
}