大数据实验指导手册30redis mapreduce与spark读写_第1页
大数据实验指导手册30redis mapreduce与spark读写_第2页
大数据实验指导手册30redis mapreduce与spark读写_第3页
大数据实验指导手册30redis mapreduce与spark读写_第4页
大数据实验指导手册30redis mapreduce与spark读写_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论