文档章节

Hadoop核心

Idea
 Idea
发布于 2016/04/21 11:03
字数 968
阅读 7
收藏 0

HDFS的设计特点是:

1、大数据文件,非常适合上T级别的大文件或者一堆大数据文件的存储,如果文件只有几个G甚至更小就没啥意思了。

2、文件分块存储,HDFS会将一个完整的大文件平均分块存储到不同计算器上,它的意义在于读取文件时可以同时从多个主机取不同区块的文件,多主机读取比单主机读取效率要高得多得都。

3、流式数据访问,一次写入多次读写,这种模式跟传统文件不同,它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件末添加内容。

4、廉价硬件,HDFS可以应用在普通PC机上,这种机制能够让给一些公司用几十台廉价的计算机就可以撑起一个大数据集群。

5、硬件故障,HDFS认为所有计算机都可能会出问题,为了防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其它某几个主机上,如果其中一台主机失效,可以迅速找另一块副本取文件。

 

HDFS的关键元素:

Block:将一个文件进行分块,通常是64M。

NameNode:保存整个文件系统的目录信息、文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode就失效了。在Hadoop2.*开始支持activity-standy模式----如果主NameNode失效,启动备用主机运行NameNode。

DataNode:分布在廉价的计算机上,用于存储Block块文件。

  • MapReduce

通俗说MapReduce是一套从海量·源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce做的事了。

 

下面以一个计算海量数据最大值为例:一个银行有上亿储户,银行希望找到存储金额最高的金额是多少,按照传统的计算方式,我们会这样:

Long moneys[] ...
Long max = 0L;
for(int i=0;i<moneys.length;i++){
  if(moneys[i]>max){
    max = moneys[i];
  }
}

 如果计算的数组长度少的话,这样实现是不会有问题的,还是面对海量数据的时候就会有问题。

MapReduce会这样做:首先数字是分布存储在不同块中的,以某几个块为一个Map,计算出Map中最大的值,然后将每个Map中的最大值做Reduce操作,Reduce再取最大值给用户。


        MapReduce的基本原理就是:将大的数据分析分成小块逐个分析,最后再将提取出来的数据汇总分析,最终获得我们想要的内容。当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据。


  • 总结

        总的来说Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量。

        Hadoop典型应用有:搜索、日志处理、推荐系统、数据分析、视频图像分析、数据保存等。


© 著作权归作者所有

Idea
粉丝 17
博文 116
码字总数 80238
作品 0
青岛
CTO(技术副总裁)
私信 提问
好程序员大数据入门学习之Hadoop技术优缺点

好程序员大数据入门学习之Hadoop技术优缺点 (1)Hadoop具有按位存储和处理数据能力的高可靠性。 (2)Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千...

好程序员IT
03/29
13
0
好程序员大数据教程分享之Hadoop优缺点

好程序员大数据教程分享之Hadoop优缺点,大数据成为时代主流,开启时代的大门,全球43亿部电话、20亿位互联网用户每秒都在不断地产生大量数据,人们发送短信给朋友、上传视频、用手机拍照、更...

好程序员IT
06/11
15
0
OSC第53期高手问答——Hadoop高级编程

OSCHINA 本期高手问答我们请来了穆玉伟 @myw0326 为大家解答关于Hadoop方面的问题。 穆玉伟@myw0326 :《Hadoop高级编程》译者,互联网领域资深技术专家,曾先后就职于腾讯搜搜、人人网、大街...

阿娇OSC
2014/08/07
7.5K
57
Hadoop一体机将挑战传统企业IT团队

  【IT168 评论】IT部门通常是以一个个“孤岛”的方式组织起来的,包括数据库管理员、网络工程师、系统管理员以及存储管理员等。Oracle Exadata由于其软硬件集成的架构方式,使得传统的企业...

作者:孙瑞 译
2013/05/22
0
0
大快DKhadoop助力实施国家大数据战略规划

如若要问当下的互联网行业什么最火,莫过于大数据、区块链。2017年12月8日,习大大的主持召开的政治局第二次集体学习会议时强调推动实施国家大数据战略,加快完善数字基础设施、推进数据资源...

adnb34g
2018/04/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Handler简解

Handler 这里简化一下代码 以便理解 Handler不一定要在主线程建 但如Handler handler = new Handler(); 会使用当前的Looper的, 由于要更新UI 所以最好在主线程 new Handler() { mLooper = Lo...

shzwork
5分钟前
0
0
h5获取摄像头拍照功能

完整代码展示: <!DOCTYPE html> <head> <title>HTML5 GetUserMedia Demo</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum......

诗书易经
7分钟前
0
0
正向代理和反向代理

文章来源 运维公会:正向代理和反向代理 1、正向代理 (1)服务对象不同 正向代理服务器的服务对象是客户端,可以将客户端和代理服务器看作一个整体。 (2)配置方法不同 需要在客户端配置代...

运维团
24分钟前
2
0
5个避免意外论文重复率高的方法

即使你不是故意抄袭,但你可能在无意中抄袭了别人的论文, 这个叫做意外抄袭,它可能正发生在你身上,如果你不熟悉学术 道德规范,这里将告诉你5个基本的方法来避免意外抄袭。 Tip1 熟悉其他...

论文辅导员
25分钟前
2
0
Maven通过profiles标签读取不同的配置

<profiles> <profile> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> ......

时刻在奔跑
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部