传智播客培训课程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《传智播客培训课程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传智播客 培训 课程 课件
- 资源描述:
-
1、高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 北京传智播客教育 Hadoop深入浅出讲师讲师:吴吴 超超博客:博客:Q Q:3774 86624高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 课程安排lMapReduce原理*lMapReduce执行过程*l数据类型与格式*lWritable接口与序列化机制*-加深拓展-lMapReduce的执行过程源码分析高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 MapReduceMapReduce概述概述MapReduce是一种分布式计算模型,由是一种分布式计算模型,由Google提出,主
2、要用于搜索领域,解决海提出,主要用于搜索领域,解决海量数据的计算问题量数据的计算问题.MR由两个阶段组成:由两个阶段组成:Map和和Reduce,用户只需要实现,用户只需要实现map()和和reduce()两个函数,两个函数,即可实现分布式计算,非常简单。即可实现分布式计算,非常简单。这两个函数的形参是这两个函数的形参是key、value对,表示函数的输入信息。对,表示函数的输入信息。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 MR执行流程高级软件人才实作培训专家高级软件人才实作培训专家!Mapreduce原理高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播
3、客教育 执行步骤:执行步骤:1.map任务处理1.1 读取输入文件内容,解析成读取输入文件内容,解析成key、value对。对输入文件的每一行,解析成对。对输入文件的每一行,解析成key、value对。每一个键值对调用一次对。每一个键值对调用一次map函数。函数。1.2 写自己的逻辑,对输入的写自己的逻辑,对输入的key、value处理,转换成新的处理,转换成新的key、value输出。输出。1.3 对输出的对输出的key、value进行分区。进行分区。1.4 对不同分区的数据,按照对不同分区的数据,按照key进行排序、分组。相同进行排序、分组。相同key的的value放到一个集放到一个集合中
4、。合中。1.5(可选可选)分组后的数据进行归约。分组后的数据进行归约。2.reduce任务处理2.1 对多个对多个map任务的输出,按照不同的分区,通过网络任务的输出,按照不同的分区,通过网络copy到不同的到不同的reduce节点。节点。2.2 对多个对多个map任务的输出进行合并、排序。写任务的输出进行合并、排序。写reduce函数自己的逻辑,对输入函数自己的逻辑,对输入的的key、value处理,转换成新的处理,转换成新的key、value输出。输出。2.3 把把reduce的输出保存到文件中。的输出保存到文件中。例子:实现例子:实现WordCountApp高级软件人才实作培训专家高级软
5、件人才实作培训专家!北京传智播客教育 map、reduce键值对格式函数函数输入键值对输入键值对输出键值对输出键值对map()reduce()高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 WordCountApp的驱动代码public static void main(String args)throws Exception Configuration conf=new Configuration();/加载配置文件 Job job=new Job(conf);/创建一个job,供JobTracker使用 job.setJarByClass(WordCountApp.cl
6、ass);job.setMapperClass(WordCountMapper.class);job.setReducerClass(WordCountReducer.class);FileInputFormat.setInputPaths(job,new Path(hdfs:/192.168.1.10:9000/input);FileOutputFormat.setOutputPath(job,new Path(hdfs:/192.168.1.10:9000/output);job.setOutputKeyClass(Text.class);job.setOutputValueClass(I
7、ntWritable.class);job.waitForCompletion(true);高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 JobTrackerl负责接收用户提交的作业,负责启动、跟踪任务执行。lJobSubmissionProtocol是JobClient与JobTracker通信的接口。lInterTrackerProtocol是TaskTracker与JobTracker通信的接口。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 TaskTrackerl负责执行任务。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育
8、 JobClientl是用户作业与JobTracker交互的主要接口。l负责提交作业的,负责启动、跟踪任务执行、访问任务状态和日志等。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 最小的MapReduce驱动Configuration configuration=new Configuration();Job job=new Job(configuration,HelloWorld);job.setInputFormat(TextInputFormat.class);job.setInputFormat(
9、TextInputFormat.class);job.setMapperClass(IdentityMapper.class);job.setMapperClass(IdentityMapper.class);job.setMapOutputKeyClass(LongWritable.class);job.setMapOutputKeyClass(LongWritable.class);job.setMapOutputValueClass(Text.class);job.setMapOutputValueClass(Text.class);job.setPartitionerClass(Has
10、hPartitioner.class);job.setPartitionerClass(HashPartitioner.class);job.setNumReduceTasks(1);job.setNumReduceTasks(1);job.setReducerClass(IdentityReducer.class);job.setReducerClass(IdentityReducer.class);job.setOutputKeyClass(LongWritable.class);job.setOutputKeyClass(LongWritable.class);job.setOutput
11、ValueClass(Text.class);job.setOutputValueClass(Text.class);job.setOutputFormat(TextOutputFormat.class);job.setOutputFormat(TextOutputFormat.class);job.waitForCompletion(true);高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 MapReduce驱动默认的设置InputFormat(输入)TextInputFormatMapperClass(map类)IdentityMapperMapOutputKeyCl
展开阅读全文