Hadoop学习随笔(一)

 1、MR是一种用于数据处理的编程模型,MapReduce和关系型数据库之间的区别是:

      

MapReduce

关系型数据库

一次写入多次读写

多次读写

PB

GB

非结构化

结构化

 

2、MR具有"数据本地化"功能,即尝试在计算节点本地存储数据,通常MR处理的结果会送到Reduce继续处理得到最终的结果,

    Reduce输出结果为了长久稳定保存,一般存储在HDFS上,其输入往往来自于所有maper输出

3、Hadoop把作业分成若干小任务来工作,其中包括:Map任务和Reduce任务。

     jobtracker和tasktracker共同协调来完成整个作业的调度,jobtracker主要用来控制、分配在tasktracker的调度,tasktracker用于运行任务并将运行进度报告返回给jobtracker。

4、Hadoop会将输入数据分成小数据块发到MR(简称分片),如果有多个reducer,maper任务会对其输出进行分区,为每个reducer任务创建一个分区,分区包含许多键,每个键都在同一个分区中

5、hadoop允许在map和reduce之间建立combiner,是一个优化方法

6、hadoop流提供一个API来运行MR,其允许任何只要能够编写标准输入并给出标准输出的语言,因为他使用unix标准流作为与程序之间的借口。

7、hadoop管道是hadoop mapreduce的c++接口的代称,管道使用sockets作为tasktracker与c++编写的map或者reduce函数的进程之间的管道。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章