hadoop笔记1

hdfs mapreduce简介

Hadoop组件

结构组成

   Hadoop由2个主要的主件组成:hdfs,mapreduce

1)       Hdfs

分布式文件系统,按照组成分为

masterNode: nameNode,JobTracker,SecondaryNameNode

slaveNode: DataNode,TaskTracker

nameNode:文件在各节点分块对应表。

SecondaryNameNode:文件分布快照,是NameNode的补充节点。

DataNode:数据的io操作。

taskTracker:各节点的操作监视节点

2)       Mapreduce

设计为hdfs文件的计算组件。

分为:mapper

      reducer

Mapreduce执行步骤

     Mapper负责从hdfs文件系统读取信息,然后输出给reducer,reducer在输出到hdfs文件系统。

输入输出格式:

           Map(k1,v1)àlist(k2,v2)

           Reduce(k2,list(v2))-àlist(k3,v3)

 

     Hdfs--àInput split--àmap--àcombiner--àshuffling---àreduce--àhdfs

其中shuffling中有分区的动作(partitioner)

 

Input split中包含了

文件分块:一个文件分割在一个机器节点上的多个块,或者不同机器节点上。

inputFormat: 文件分割到读取文件以什么格式给mapper.

            TextInputFormat

            KeyValueTextInputFormat

            默认实现为FileInputFormat的子类,其中有2个方法

getSplits

getRecordReader此方法就是决定传什么样的值(RecordReader)                                              给map方法。

      Reduc后调用outputformat来写入文件

                默认是textoutputformat

      都是FileoutputFormat子类。

相关推荐