云计算实验报告书.doc

云计算实验报告书.doc

ID:48189697

大小:567.50 KB

页数:11页

时间:2020-01-22

云计算实验报告书.doc_第1页
云计算实验报告书.doc_第2页
云计算实验报告书.doc_第3页
云计算实验报告书.doc_第4页
云计算实验报告书.doc_第5页
资源描述:

《云计算实验报告书.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、word格式实验项目名称多表关联实验成绩实验者专业班级组别同组者实验日期2016.1.9第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)输入两个文件:一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址表,包含地址名列和地址编号列。从输入数据中找出工厂名和地址名的对应关系,输出“工厂名——地址名”表,按工厂名排序输出;数据文件自己设计样例。二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)具体的算法实现如下:publicclassMT

2、join{publicstaticinttime=0;/*在map中先区分输入行属于左表还是右表,然后对两列值进行分割,*保存连接列在key值,剩余列和左右表标志在value中,最后输出*/publicstaticclassMapextendsMapper{//实现map函数publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{St

3、ringline=value.toString();//每行文件Stringrelationtype=newString();//左右表标识//输入文件首行,不处理if(line.contains("factoryname")==true

4、

5、line.contains("addressed")==true){return;}//输入的一行预处理文本StringTokenizeritr=newStringTokenizer(line);Stringmapkey=newString();Stringm

6、apvalue=newString();inti=0;while(itr.hasMoreTokens()){//先读取一个单词Stringtoken=itr.nextToken();//判断该地址ID就把存到"values[0]"if(token.charAt(0)>='0'&&token.charAt(0)<='9'){mapkey=token;if(i>0){relationtype="1";}else{relationtype="2";}continue;}....word格式....wor

7、d格式//存工厂名mapvalue+=token+"";i++;}//输出左右表context.write(newText(mapkey),newText(relationtype+"+"+mapvalue));}}/*reduce解析map输出,将value中数据按照左右表分别保存,  *然后求出笛卡尔积,并输出。*/publicstaticclassReduceextendsReducer{//实现reduce函数publicvoidreduce(Te

8、xtkey,Iterablevalues,Contextcontext)throwsIOException,InterruptedException{//输出表头if(0==time){context.write(newText("factoryname"),newText("addressname"));time++;}intfactorynum=0;String[]factory=newString[10];intaddressnum=0;String[]address=newSt

9、ring[10];Iteratorite=values.iterator();while(ite.hasNext()){Stringrecord=ite.next().toString();intlen=record.length();inti=2;if(0==len){continue;}//取得左右表标识charrelationtype=record.charAt(0);//左表if('1'==relationtype){factory[factorynum]=record.substring

10、(i);factorynum++;}//右表if('2'==relationtype){address[addressnum]=record.substring(i);addressnum++;}}//求笛卡尔积if(0!=factorynum&&0!=addressnum){for(intm=0;m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。