Pro Apache Hadoop(Second Edition)-第一章

第一章 为什么会有大数据


Pro Apache Hadoop(Second Edition)-第一章_第1张图片

1、就本书而言,大数据(Big Data)姑且定义为无法被符合服务等级协议(service level agreement,SLA)的单台计算机处理或(有些时候)存储的任何数据集。

2、所有大数据处理方法中的一些共同特征

    1)数据分布在多个节点(网络I/O速度 << 本地磁盘I/O速度)

    2)计算程序离数据更近(集群上的节点),而不是相反

    3)数据的处理尽量在本地完成(网络I/O速度 <<本地磁盘I/O速度)

    4)使用可顺序读取磁盘I/O代替随机磁盘I/O(数据交换速度<<数据寻道速度)

    所有大数据计算处理模式都有一个目的,就是使输入/输出(I/O)并行化,从而提高数据处理性能.

3、你会发现大数据处理系统会很有条理的在各个计算机节点上计算处理所分配的数据。把数据分配到各个服务器节点的最终目的是为了让大量计算节点同时参与到数据的处理计算过程来。这样的数据分发有两个好处:

    1)多副本备份

    2)数据并行处理

4、大数据系统可以让我们及集中式的部署程序代码,大数据系统后台会在计算任务启动之前把这些程序移动到各个数据处理节点。

5、优选顺序读,次之随机读。

    大多数的数据读取密集型的大数据编程模型都利用了这个特征。

    数据被顺序的从磁盘上读出,然后在内存中读取数据。与此不同的是典型的关系型数据库管理系统(RDBMS)模型,他们往往是随机读写数据为主。

6、大数据处理系统的典型特征:

    关注于使系统吞吐量(单位时间内系统处理的数据量)最大化,而非处理结果延时(请求响应的快慢,这个是评价事务性系统好坏的关键指标,因为我们想尽快获得响应)

7、MR编程模型简介:

    Hadoop系统对MapReduce框架的实现具有如下几个特征:

    1)使用商用级别的硬件

    2)无需事先定义数据划分准则来把数据分配到各个计算节点

    3)用户仅需要定义两个独立的处理过程:Map和Reduce

    MapReduce编程模型的几个重要特征:

    1)数据以较大的数据块的形式放在HDFS上。HDFS是一个分布式文件系统,数据块分散存储到各个节点,数据块是有冗余的

    2)程序运行依赖库,包括Map和Reduce代码被复制发送到所有的计算节点

    3)每个计算节点仅读取节点本地数据

        大多数情况下,哪个节点的Mapper读取哪个节点磁盘的数据块,这是由调度程序管理决定的。调度程序可能会分配某个节点的Mapper任务处理远程节点的数据块,以保持集群中的所有节点的负载均衡

8、MR编程模型不适合迭代算法

    由于MR任务每次都要从持续性存储中反复读取数据每次迭代产生的结果都要放在持久性存储中拱下次迭代计算使用,导致了不必要的I/O操作,并对系统吞吐量造成了重大影响。

你可能感兴趣的:(Pro Apache Hadoop(Second Edition)-第一章)