欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    云计算实验报告书.doc

    • 资源ID:3006490       资源大小:565.52KB        全文页数:11页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    云计算实验报告书.doc

    .实验项目名称多表关联实验成绩实验者专业班级组别同组者实验日期201619第一部分:实验分析与设计(可加页)一、 实验内容描述(问题域描述)输入两个文件:一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址表,包含地址名列和地址编号列。从输入数据中找出工厂名和地址名的对应关系,输出“工厂名地址名”表,按工厂名排序输出;数据文件自己设计样例。2、 实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)具体的算法实现如下:public class MTjoin public static int time = 0; /* 在map中先区分输入行属于左表还是右表,然后对两列值进行分割, * 保存连接列在key值,剩余列和左右表标志在value中,最后输出 */ public static class Map extends Mapper<Object, Text, Text, Text> / 实现map函数 public void map(Object key, Text value, Context context)throws IOException, InterruptedException String line = value.toString();/ 每行文件 String relationtype = new String();/ 左右表标识 / 输入文件首行,不处理 if(line.contains("factoryname")=true|line.contains("addressed")= true) return; / 输入的一行预处理文本 StringTokenizer itr = new StringTokenizer(line); String mapkey = new String(); String mapvalue = new String(); int i = 0; while (itr.hasMoreTokens() / 先读取一个单词 String token = itr.nextToken(); / 判断该地址ID就把存到"values0" if (token.charAt(0)>=0&& token.charAt(0)<=9) mapkey = token; if (i > 0) relationtype = "1" else relationtype = "2" continue; / 存工厂名 mapvalue += token + " " i+; / 输出左右表 context.write(new Text(mapkey), new Text(relationtype + "+"+ mapvalue); /*reduce解析map输出,将value中数据按照左右表分别保存, * 然后求出笛卡尔积,并输出。 */public static class Reduce extends Reducer<Text,Text,Text, Text> / 实现reduce函数 public void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException / 输出表头 if (0 = time) context.write(new Text("factoryname"), new Text("addressname"); time+; int factorynum = 0; String factory = new String10; int addressnum = 0; String address = new String10; Iterator ite = values.iterator(); while (ite.hasNext() String record = ite.next().toString(); int len = record.length(); int i = 2; if (0 = len) continue; / 取得左右表标识 char relationtype = record.charAt(0); / 左表 if (1 = relationtype) factoryfactorynum = record.substring(i); factorynum+; / 右表 if (2 = relationtype) addressaddressnum = record.substring(i); addressnum+; / 求笛卡尔积 if (0 != factorynum && 0 != addressnum) for (int m = 0; m < factorynum; m+) for (int n = 0; n < addressnum; n+) / 输出结果 context.write(new Text(factorym), new Text(addressn); public static void main(String args) throws Exception Configuration conf = new Configuration(); /conf.set("mapred.job.tracker", "192.168.1.2:9001"); /String ioArgs = new String "MTjoin_in", "MTjoin_out" ; String otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs(); if (otherArgs.length != 2) System.err.println("Usage: Multiple Table Join <in> <out>"); System.exit(2); Job job = new Job(conf, "Multiple Table Join"); job.setJarByClass(MTjoin.class); / 设置Map和Reduce处理类 job.setMapperClass(Map.class); job.setReducerClass(Reduce.class); / 设置输出类型 job.setOutputKeyClass(Text.class); job.setOutputValueClass(Text.class); / 设置输入和输出目录 FileInputFormat.addInputPath(job, new Path(otherArgs0); FileOutputFormat.setOutputPath(job, new Path(otherArgs1); System.exit(job.waitForCompletion(true) ? 0 : 1); 三、 主要仪器设备及耗材Ubuntu、Hadoop、PC第二部分:实验调试与结果分析(可加页)一、 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)1 调试方法描述以下是部分核心Hadoop的调试过程截图(1)主节点:namenode(2)配置jdk: 第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)1调试方法描述(3)配置ssh:(4) 配置Hadoop第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等) 2实验输入数据记录输入两个txt文件:代表工厂表的文件(factory.txt)和代表地址表的文件(adsress.txt) 第二部分:实验调试与结果分析(可加页)3 实验输出数据记录运行过程输入的命令如下所示:删除已经存在的output文件夹(包括子目录):hadoop fs -rmr output在hadoop指定目录内创建新目录: hadoop fs -mkdir input将factory.txt文件夹存储至hadoop: hadoop fs -put factory input将address.txt文件夹存储至hadoop: hadoop fs -put address input运行已经打包好的MTJoin.java文件: hadoop jar MTJoin.jar MTJoin input output查看运行结果:hadoop fs -cat output/part-r-00000输入查看结果命令就会按要求输出“工厂名地址名”表,按工厂名排序输出。二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)1结果描述 输入工厂表对应的文件factory.txt和地址表对应的文件address.txt,则按要求输出了“工厂名地址名”表。完成了实验要求。2实验现象分析 在配置Hadoop的过程中遇到了很多问题,因为对Hadoop的不熟悉导致多次重启系统,但是最后还是较好的完成了实现,在实验的规程中并没有出现过于严重的问题。3影响因素讨论 首先我们必须完成Hadoop的集群配置:安装Linux系统,推荐Ubuntu14.03,建议直接使用hadoop作为用户安装、配置jdk、更改环境变量、配置ssh、用jps验证集群是否配置成功,使用多台计算机连接主节点和多个次节点完成多台计算机的并行分布。这些配置的过程对于该实验是非常重要的,只有搭建好了Hadoop才能完成该实验。同时设计好数据文件也会直接影响数据的输出。4算法分析(包括时间和空间) 若工厂表长度为N,地址表的长度为M,则时间复杂度为O(N*M),空间复杂度为O(1)。第二部分:实验调试与结果分析(可加页)二、 实验小结、建议及体会 多表关联和单表关联相似,都类似于数据库中的自然连接。相比单表关联,多表关联的左右表和连接列更加清楚。所以可以采用和单表关联的相同的处理方式,map识别出输入的行属于哪个表之后,对其进行分割,将连接的列值保存在key中,另一列和左右表标识保存在value中,然后输出。reduce拿到连接结果之后,解析value内容,根据标志将左右表内容分开存放,然后求笛卡尔积,最后直接输出。在进行该多表关联之前我们必须完成Hadoop的集群配置:安装Linux系统,推荐Ubuntu14.03、配置jdk、更改环境变量、配置ssh、用jps验证集群是否配置成功,使用多台计算机连接主节点和多个次节点完成多台计算机的并行分布。然后设计代表工厂表的factory.txt文件和代表地址表的address.txt文件,该文件作为输入文件。输入“hadoop fs -rmr output”命令删除已经存在的output文件夹(包括子目录),输入“hadoop fs -mkdir input”命令在hadoop指定目录内创建新目录。输入“hadoop fs -put factory input”命令将factory.txt文件夹存储至hadoop;输入“hadoop fs -put address input”命令将address.txt文件夹存储至hadoop;输入“hadoop jar MTJoin.jar MTJoin input output”命令运行已经打包好的MTJoin.java文件;输入“hadoop fs -cat output/part-r-00000”命令查看运行结果。运行结果就会输出“工厂名地址名”表。

    注意事项

    本文(云计算实验报告书.doc)为本站会员(小**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开