public static class Reduce extends Reducer<Text, Text, Text, Text>
{
private Text txtReduceOutputKey = new Text("");
private Text txtReduceOutputValue = new Text("");
public void reduce(Text key, Iterator<Text> values, Context context) throws IOException, InterruptedException
{
//some code;
}
}
没有任何错误。我可以访问该类,因为我可以启动这些变量txtReduceOutputKey
和txtReduceOutputValue
。但执行时忽略reduce
方法。所以我无法在上面的方法中运行代码//一些代码。我也在使用以下包裹。
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.Job;
我知道如何解决这个问题?
答案 0 :(得分:0)
请确保您已在驱动程序代码中设置 Reducer类。 例如: -
job.setReducerClass(Base_Reducer.class);
答案 1 :(得分:0)
这些问题是由于以下几个原因引起的:
reduce()
方法 - 最好使用override
进行注释答案 2 :(得分:0)
这是因为Iterator
。它应该被Iterable
取代。
谢谢。