Hadoop理解

作为分布式系统而言,有两个重要内容(当然还有其它的内容,这里仅仅讨论hadoop的核心):分布式存储和分布式计算。

分布式存储的原理:将一个大文件划分成若干部分,存储到不同的节点上(副本存储)。
好处:1)由于有副本存储,某个节点的down机不会影响到整个集群的使用,数据还是可以保证完整性的;
2)大文件划分小文件存储,这样便于后面的处理。这是因为计算节点(存储节点是同一个概念)可以处理这一部分数据,多个
计算节点可以并行处理。
整个来讲,HDFS的原理比较容易读,本质上讲,它是一个文件系统,只不过是分布式的,你也完全写一个简单的分布式文件系统出来的,只要你想做。

在讲分布式计算之前,我们来考虑一个问题,假设我们想完成一个任务:统计文章中哪些词出现的概率比较大。你会怎么做呢?

1.如果数据量小的话:
1)一个文件一个文件地读;
2)建立一个hashmap,key就是单词,value是频率;
3)如此循环。

2.如果数量大的话:
你会将这些文件分成若干部分,放到N台机器上并行运行,然后结果再合并。

问题:1)文件的分配,一个个复制吗?
2)结果合并,容易吗?

所以,出现了分布式计算框架,它要解决的问题就是上面的两点。
第1)点已经解决了,因为文件本身就是存储在不同的计算节点上的;
第2)其实包含了几个部分:
a)文件的打开与读取(Hadoop是一行一行的读);
b)中间结果的保存(也是存储到文件中去);
c)中间结果的合并和输出(最终结果存储到文件中去)。

你会发现,它的设计思想就是这么简单。然而要设计一个分布式系统框架,还是有很多事情要考虑的,这一点需要自己去体会。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值