你的位置:首页 > 数据库

[数据库]关于hadoop

hadoop 是什么?

1. 适合海量数据的分布式存储与计算平台。

海量: 是指 1T 以上数据。

分布式: 任务分配到多态虚拟机上进行计算。

 

2. 多个任务是怎么被分配到多个虚拟机当中的?

分配是需要网络通讯的。而且是需要启动资源 或者 消耗一些硬件上的配置。

单 JVM 关注的如何『处理』,而不是交给其他人进行处理这个 『管理』的过程。  所以最开始有两个关键的字  『适合』,

只有当数据量超过 1T 的大数据处理才能凸显 hadoop 的优势;    当然,用 hadoop 处理 几十G、几百G 这种小数据也是可以的,只是体现不了 hadoop的优势罢了,从硬件的角度,从效率的角度都是不太值得的。

 

3.Hadoop Ecosystem Map   Hadoop生态系统图

 

博客讲解:  http://www.cnblogs.com/zlslch/p/5080439.html

image

像其他框架一样,hadoop 也是分层的,  序号③  ⑤ 就是 hadoop 中重要的组成, HDFS 负责数据存储。MapReduce 是海量数据的分布式计算框架。

Structured Data(hiho, sqoop) 是 hadoop 中对传统数据和 hadoop中数据相互转化的工具。传统数据库中的数据可以导入到 hadoop中。hadoop中的数据也可以导入到传统的关系型数据库中。

HBASE 是 hadoop中用的最多和最重要的子项目之一。当然它也是构建于 MapReduce 和 HDFS 之上的。不过 HBASE 可以不基于 HDFS ,只是如果不基于 HDFS时就无法使用 MapReduce 计算框架了。是处理大数据读写操作的,尤其适合一些大型在线系统。

大数据有两层含义:第一层含义,大数据有自己的构造形态,key-value方式。  另外一层含义,就是大家理解的海量数据。 之所以能成为 大数据 是因为 他是  key-value的构建方式。

 

 

 

HDFS


HDFS: Hadoop Distributed File System 分布式文件系统

文件系统  是一套接口,一套平台。是用于管理文件的存储与操作的。

HDFS文件系统,是用于管理分布式文件的存储与操作的HDFS 就为我们提供了一套机制,让海量数据能够分布在不同的计算机上。他提供 言外知音就是 我们不用关心数据是怎么存储的, HDFS 负责存储这件事情。这是我们使用 hadoop 的一个重要的原因,他帮我们屏蔽掉一些分布式操作的一些细节。

 

MapReduce


MapReduce  : 并行计算框架

分布式系统中有很多台机器,每一台机器存储数据的一部分,我们使用 hadoop 之所以能够很快的计算得出结果,原因很简单 我们计算的代码会在不同的机器上运行, 每一台机器完成计算的一部分,因为每台机器上存储的只是我数据的一部分。多台机器并行计算。然后把计算结果收集过来得出最终的结果。这是Hadoop 之所以块的根源。所以 MapReduce 是我们要研究非常重要的核心,  HDFS 的操作是hadoop 框架屏蔽掉的,所以我们主要是去学习怎么去使用它。作为开发而言,聚焦到核心的核心,肯定是 MapReduce。 因为 MapReduce 是计算框架。也就是说数据已经存储了,我怎么计算它,这在任何一个框架中都是一个比较核心的问题。当然也是最有技术含量的问题。所以 如果学习hadoop 的话,有必要详细研究 MapReduce 的架构、使用、源代码等等所有的核心环节。