收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 


hadoop的笔记
状态: 离线
人气:2906038
访问用户量:3010
笔记经验:
总积分:1409
级别:普通会员
搜索本笔记
ta的交流分类
ta的交流主题贴(131)
ta的所有交流贴(138)
ta的全部笔记
全部笔记(249)
未分类笔记(0)
hadoop(109)
luoli的Hado……(19)
精通hadoop(10)
Hadoop原理与代……(6)
HBase(15)
深入浅出学Hive(11)
Hadoop实战-中……(11)
Hadoop实战-初……(8)
hadoop & h……(9)
Hive(18)
zookeeper(8)
Hadoop Str……(14)
云计算综合实战项目(11)
存档
2013-04(11)
2012-10(11)
2012-09(10)
2012-08(191)
2012-07(26)

2017-08-29 22:51:25
Hadoop实战-初级部分 之 MapReduce
浏览(69773)|评论(96)   交流分类:Java|笔记分类: Hadoop实战-初……

第一部分: 什么是 MapReduce
              Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。
              MapReduce基础出发点是很易懂。它由称为map和reduce的两部分用户程序组成,然后利用框架在计算机集群上面根据需求运行多个程序实例来处理各个子任务,然后再对结果进行归并。
 
第二部分: MapReduce 架构设计

MapReduce 执行流程
 
 
作业提交流程
 
 
术语:
•job:用户的每一个计算请求,就称为一个作业。
•JobTracker:用户提交作业的服务器,同时,它还负责各个作业任务的分配,管理所有的任务服务器。
•TaskTracker:任劳任怨的工蜂,负责执行具体的任务。
•Task:每一个作业,都需要拆分开了,交由多个服务器来完成,拆分出来的执行单位,就称为任务。
第三部分:配置开发环境
•Tool,ToolRunner介绍
•配置文件管理
•Eclipse 开发环境搭建
 
•用Tool来实现打印所有配置的所有属性
•介绍ToolRunner
•配置文件管理
–可以在运行Job时用 –conf 参数来指定要使用的配置文件,这样可以合理管理测试,生产环境所需的配置文件
–示例
•Hadoop-local.xml
•hadoop-localhost.xml
–Hadoop fs –conf  文件名查看相应的配置
•Eclipse 开发环境搭建
–在Resources文件夹中加入mapred-site.xml 即可
–导入Hadoop lib 下所有的Jar包
第四部分:应用例子:词频统计
             如果想统计下过去 50 年毕业生毕业论文出现最多的几个单词,看看大家都在研 究些什么,那收集好论文后,该怎么办呢?
方法一:我可以写一个小程序,把所有论文按顺序遍历一遍,统计每一个遇到的单 词的出现次数,最后就可以知道哪几个单词最热门了。
这种方法在数据集比较小时,是非常有效的,而且实现最简单,用来解决这个问题 很合适。
方法二:写一个多线程程序,并发遍历论文。
方法二肯定比方法一高效。但是写一个多线程程序要比方法一困难多了,我们必须 自己同步共享数据,比如要防止两个线程重复统计文件。
方法三:把作业交给多个计算机去完成。
我们可以使用方法一的程序,部署到 N 台机器上去,然后把论文集分成 N 份,一台 机器跑一个作业。这个方法跑得足够快,但是部署起来很麻烦,我们要人工把程序 copy 到别的机器,要人工把论文集分开,最痛苦的是还要把 N 个运行结果进行整合 (当然我们也可以再写一个程序)。
方法四:让 MapReduce 来帮帮我们吧!
 
      MapReduce 本质上就是方法三,但是如何拆分文件集,如何 copy 程序,如何整 合结果这些都是框架定义好的。我们只要定义好这个任务(用户程序),其它都交 MapReduce
map 函数和 reduce 函数
  map 函数和 reduce 函数是交给用户实现的,这两个函数定义了任务本身。
map 函数:接受一个键值对( key-value pair ),产生一组中间键值对。 MapReduce 框架会将 map 函数产生的中间键值对里键相同的值传递给一个 reduce 函数。
reduce 函数:接受一个键,以及相关的一组值,将这组值进行合并产生一组规模 更小的值(通常只有一个或零个值)。
 
私塾在线学习网原创内容,转载请注明出处http://sishuok.com/forum/blogPost/list/0/5456.html
该帖子包含附件,回复帖子后即可下载附件。
精品视频课程推荐

Hadoop实战-初级部分视频教程
Hadoop初级精品课程,帮助学员快速掌握Hadoop入门到上手开发,并掌握一定的开发技巧。通过Hadoop初级课程,学员可以掌握基本的Hadoop 原理,Hadoop环境搭建,Hadoop Shell,Hadoop HDFS基本操作和编程,Hadoop Mapreduce编程。

深入浅出学Zookeeper
内容概述:本课程深入浅出的讲解Hadoop 体系下的分布式协调组件-Zookeeper,向大家介绍了Zookeeper的原理与使用,深入浅出,结合生动实例,具有很高的实战意味 技术要点:Zookeepr 原理,Zookeeper 架构,Zookeeper 简单使用,Zookeeper Watch等

云计算综合实战项目视频教程(更新版)
内容概述:通过一个真实完整的项目——某大型互联网企业用户上网行为日志分析系统,系统学习Hadoop、Hive,HBase、Zookeeper等云计算开发技术在真实商业系统中到底如何使用。具有极高的学习和参考价值。 该系统是一个每天5亿条数据,上百个节点的实际商业项目,该系统将海量日志数据进行分布式存储,并通过分布式算法和网络爬虫技术形成标签化的用户模型,最终实现人与内容、人与行为、人与商品的智能配对。 技术要点:Hadoop、Hive、HBase、Zookeeper、爬虫技术等

Hadoop实战-中高级部分视频教程
Hadoop中高级精品课程,帮助学员快速掌握Hadoop HDFS的原理;MapReduce的原理;MapReduce高级编程;Hadoop的IO机制,如序列化、压缩;Hadoop的RPC,RESTFul API等高级特性;彻底理解Hadoop,成为一名合格的云计算开发者。并掌握一些云端基本的运维知识,从而实现开发和运维兼修的高级人才。

浏览(69773)|评论(96)   交流分类:Java|笔记分类: Hadoop实战-初……

评论(96)
96楼 fukua  2017-08-29 引用

x学习l

95楼 Liyang_Click  2017-08-29 引用

谢谢分享

94楼 Yadira  2017-03-19 引用

谢谢分享

93楼 shenjb  2017-03-19 引用

呵呵

92楼 安静一会  2017-03-19 引用

学习

91楼 wwqz123  2017-03-19 引用

学习

90楼 lulululu  2017-03-19 引用

后面的呢?

89楼 hufuman  2017-03-19 引用

多谢分享!!!!!!!

88楼 瞎掰君  2016-09-29 引用

不错的材料!!!

87楼 刷儿  2016-08-19 引用

学习了

86楼 hukunfeiguochao  2016-08-19 引用

 

很不错!

85楼 L学习懂你  2016-08-19 引用

henhao d

84楼 lzpazashufe  2016-05-16 引用

学习了

83楼 ↓堕天↓  2015-12-22 引用

学习学习

82楼 海,山  2015-12-07 引用

学习

81楼 tu1chao  2015-11-06 引用

很不错!

80楼 kelen121  2015-09-04 引用

很好

79楼 yantaiguanyue  2015-08-27 引用
学习了
78楼 lijuanjuan  2015-08-27 引用

xuexi

请登录后评论 登录

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网