问个问题啊,用hadoop做气象温度案例时,好像reduce没有运行,但控制台显示reduce100%,结果数据并不是reduce后的数据而是map数据输出后的。结果却是:似乎时map输出的数据,控制台显示:,很纳闷
请大佬们解答下
没有代码无法知道原因,可能的原因有:
1.Reducer的数量为0
2.Mapper输出的数据没有正确的给到Reducer,检查一下context.write()中的数据和reducer那边的接收数据是否一致。
没有给出任何有效的具体信息。建议你跟着 https://blog.csdn.net/u013337889/article/details/46953037 的步骤和代码对照下。
和楼上看法一致,
1、首先确保没有将reduce个数设置为0;
2、其次确定你是否继承了Reducer,是否重写了reduce方法,如果没有重写,那么会走源码中默认的reduce,即根据map输出将键值对中的key进行了字典序排序之后,
输出了(key,list(value));
3、确保将Reduce类名写入了job对象的参数中,如果没有写入,那么就悲剧了;
总之,还是要上传代码,不然让我们咋猜啊!!!