版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三 MapReduce与Spark读写会使用MapReduceRedis数据会使用SparkRedis数据在机上,使用MapReduce代码Redis数据在机上,使用Spark代码Redis数据1000Gbig.txt10Gsmall.txt,请基于MapReduce思想编程实现判断小表中单词在大表中出现次数。也即所谓的“扫描大表、加Redis,Redis30-1所示。加载Redis数硬盘:100G、逐条加第一个第二个第一个第二个第一个第三个第二个第十个硬盘:100G、逐条加收集加载Redis数硬盘:100G、逐条加收集加载Redis数硬盘:100G、逐条加加载Redis数主要包括MapReduceRedis代码和SparkRedis数据代码MapReducebig.txtHDFS,准备好待查城市名并将其导入Redis。接着为编程阶段,即编写MapReduce程序,在此程序Map阶段,取出RedisHDFS首先,登录机或者master机器,确认该机上存在“/root/data/30/big.txt”(如果不存在请自己手动添加这样的文本数据)30-2所示。30-2确认本地文件接着,登录到 机或者master机器上,查看HDFS里是否已存在目录“/user/oot/redis/in, ~]#~]#/usr/cstor/hadoop/bin/hdfsdfs-mkdir-p~]#/usr/cstor/hadoop/bin/hdfsdfs-put/root/data/30/big.txt 最后,使用下述命令将 机本地文件“/root/data/30/big.txt~]#/usr/cstor/hadoop/bin/hdfsdfs-put/root/data/30/big.txt 30-3HDFS上big.txt文件位置与内容 ~]#/usr/cstor/hadoop/bin/hdfsdfs-ls Redis首先,参考下述命令登录到redis数据库:redissrc:cdusr/cstor/redis/src然后登陆redis ~]#redis-cli-h6(这里是运行redis服务器的主机的 6:6379>6:6379>setcity6:6379>getEclipse,依次点击“File→New→Other…→Map/ReduceProject的“NewMapReduceProjectWizard”对话框中,“Projectname”一栏填写项目名“SharedargeMemry,接着,新建LargeMemory类并指定包名(代码中为cn.cstor.redis)packagecn.cstorredis;importpackagecn.cstorredis;importjava.io.IOException;importorg.apachehadoop.conf.Configuration;importorg.apachehadoop.fs.Path;importorg.apacheimportorg.apacheimportorg.apachehadoopmapreduce.Job;importorg.apachehadoopmapreduce.Mapper;importorg.apachehadoopimportorg.apachehadoopmapreduce.lib.input.FileInputFormat;importorg.apachehadoopmapreduce.lib.output.FileOutputFormat;importredis. publicclassLargeMemorypublicstaticclassTokenizerMapperextendsMapper<Object,Text,Text,IntWritable>{privatefinalstaticIntWritableone=newIntWritable(1);Jedisjedis=protectedvoidsetup(Contextcontext)throwsIOException,InterruptedException{jedis=newJedis(context.getConfiguration().get("redisIP"));System.out.println("setupok*^^*");}publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{String[]values=value.toString().split("");for(inti=0;i<values.length;i++){if(jedis.get("city").equals(values[i])){}}}}publicstaticclassIntSumReducerextendsReducer<Text,IntWritable,Text,IntWritable>{privateIntWritableresult=newIntWritable();publicvoidreduce(Textkey,I ble<IntWritable>values,Contextcontext)throwsIOException,InterruptedException{intsum=for(IntWritableval:values){sum+=val.get();}context.write(key,result);}}publicstaticvoidmain(String[]args)throwsException{Configurationconf=newConfiguration();conf.set("redisIP",args[0]);Jobjob=Job.getInstance(conf,"RedisDemo");FileInputFormat.addInputPath(job,newPath(args[1]));FileOutputFormat.setOutputPath(job,newPath(args[2])); pletion(true)?0:1);}}RedisRedisJar包。实际操作时,选中该项目,“New→Folder”,在弹出的框中填写“lib”,接着将“jedis-2.1.0.jar”(这个jedis-2.1.0.jar包如果实验环境下找不到可以从网络上也是同样可以使用的)到该文件“lib)2.1.0.jar30-430-4将Jar包添加到Build至此,已完成代码开发,图30-5为本项目结构图,请读者对照该图,分析项目结构图30-5本项目集成开发界待代码编写结束,选中该项目,依次点击“Export→Java→JARfile,弹出框,在图30-6中填写打包位置,接着Finish即可。笔者此处打包时包名及其位置为“UsersaeneskophreLageeor.ar30-6首先,使用xftp或者一体机提供的工具将C:\Users\allen\Desktop\SharedLargeMemory.jar“/root/ShaedaeMemr.jar接着,登录机上,使用下述命令提交SharedLargeMemory.jarcn.cstorcn.cstorredis.LargeMemory6/user/root/redis/in/big.txt~]#/usr/cstor/hadoop/bin/hadoopjarSparkMapReduceSparkRedisRedis准备数据;SparkRedisSpark交互式执行界面中直接编写代码访Redis即可。具体操作如下:Redis~]$redis-cli-5:6379>SETchengshi5:6379>get首先启动Spark集群,再启动SparkS,由于SparkRedis时需要Redis客户jedis,故此处启动Spark时需指定jedis包(如果redis的jar --masterspark://master:7077--jars编写代scala>importredis. scala>importredis. importredis. scala>varjd=newjd:jd:redis. s.jedis.Jedis=redis. scala>varstr=jd.get("chengshi")str:String=sh,bj,sz,nj,hfscala>varstrList=str.split(",")strList:Array[String]=Array(sh,bj,sz,nj,hf)scala>vala=sc.parallelize(strList,3)a:org.apache.spark.rdd.RDD[String]=ParallelCollectionRDD[0]atparallelizeat<console>:28sc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年濮阳石油化工职业技术学院单招综合素质考试参考题库含详细答案解析
- 2026湖南张家界市经济发展投资集团有限公司招聘职业经理人1人考试重点试题及答案解析
- 2026湖北交通投资集团有限公司招聘14人考试重点题库及答案解析
- 2026年内蒙古交通职业技术学院单招综合素质考试备考题库含详细答案解析
- 2026年毕节幼儿师范高等专科学校高职单招职业适应性测试备考试题及答案详细解析
- 2026南平武发房产集团有限公司职业经理人招聘1人考试重点题库及答案解析
- 2026广东第二师范学院基础教育集团选聘1人考试重点题库及答案解析
- 2026年江苏农牧科技职业学院单招综合素质考试参考题库含详细答案解析
- 2026年内蒙古商贸职业学院高职单招职业适应性测试备考试题及答案详细解析
- 2026上半年安徽事业单位联考铜陵市招聘108人参考考试试题及答案解析
- 海南省医疗卫生机构数量基本情况数据分析报告2025版
- 电影院消防安全制度范本
- 酒店工程维修合同协议书
- 2025年版个人与公司居间合同范例
- 电子商务平台项目运营合作协议书范本
- 动设备监测课件 振动状态监测技术基础知识
- 第六讲-女性文学的第二次崛起-80年代女性文学
- 专题15平面解析几何(选择填空题)(第一部分)(解析版) - 大数据之十年高考真题(2014-2025)与优 质模拟题(新高考卷与全国理科卷)
- 部门考核方案
- 苗木种子采购合同范本
- 检测费合同范本
评论
0/150
提交评论