版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年合作客运资格证仿真试题
- 2024年白银道路客运输从业资格证到期换证考试
- 2024年沈阳汽车驾驶员客运资格证考试题库及答案
- 2024年龙岩客运从业资格证考试题目
- 药品试用活动方案
- 月度工作总结
- 外墙涂料工程施工方案
- 幼儿园中班上册教育教学计划总结
- 基于大数据的J物流成本控制研究
- 提升农村小规模学校办学品质的区域探索
- 期末模拟练习(试题)(含答案)2024-2025学年二年级上册数学苏教版
- 2024年房产中介佣金提成协议书范本
- 某港口码头工程施工组织设计
- 职业技术学校老年保健与管理专业(三年制)人才培养方案
- 2024年秋季人教版新教材七年级上册语文全册教案(名师教学设计简案)
- 有子女民政局常用协议离婚书格式2024年
- 中国介入医学白皮书(2021 版)
- 2024中华人民共和国农村集体经济组织法详细解读课件
- 代运营合作服务协议
- 婚内财产协议书(2024版)
- 有限空间作业应急管理制度
评论
0/150
提交评论