1、在程序中,我将文件读入格式设定为WholeFileInputFormat,即不对文件进行切分。
2、为了控制reduce的处理过程,map的输出键的格式为组合键格式。与常规的
3、为了适应组合键,重新设定了分组函数,即GroupComparator。分组规则为,只要TextPair中的key1相同(不要求key2相同),则数据被分配到一个reduce容器中。这样,当相同key1的数据进入reduce容器后,key2起到了一个数据标识的作用。
进口java.io.IOException异常;
公共类低柜扩展Thread {公共静态无效的主要(字串[] args){低柜例如=新的低柜(); byte []的B =新的字节[32];而(真){尝试{的System.out.println(“请输入一个正整数,在得到它的阶乘,结束输入”); System.in.read(B);字符串资源=新的String(B).trim();如果(RES .equals(“过”)){的System.out.println(“程序结束”); 打破;} INT I =的Integer.parseInt(res.trim());如果(我<= 0)继续;的System.out .println第(i + + instance.factorial(ⅰ)“=!”);的System.out.println(“递归”+ instance.getCount()+“时代”);}赶上(IOException异常E){e.printStackTrace();}赶上(NumberFormatException的NE){的System.out.println(“请输入一个正整数“);}}} //存储递归变量私人诠释计数= 0;公众诠释getCount将(){返回计数;}众长因子(int i)以{//递归被清除,指望这一切都会算作注释//数= 0;返回this.getResult(我);}众长的getResult(int i)以{算++;回到我== 1我:? I *的getResult(ⅰ - 1);}}