> Linux集群 > Hadoop >

hadoop0.19.0版的包和类的分析

1       Hadoop包总量(15个包)

15个包,分下面几类:

(1)    配置文件:这是一个多方共享的话,让每个人可以告诉群里每个人我想干啥,由控制者根据配置文件去找相应的实体指向。

(2)    共用工具:基础功能的提供者

(3)    通讯工具:大家是基于通讯进行工作的

(4)    基础运算:MR

(5)    基本读写:IO

(6)    文件处理:HDFS

(7)    文件系统:FS

(8)    文件缓存:FILECACHE

(9)    安全机制:

(10)统计处理:

(11)类型释义:RECORD

(12)用户外壳:TOOL

(13)管控工具:HTTP

两个目的:(1)满足管理者的需要;HTTP(2)满足使用者的需要;

1.1  包的列表

 

1.2  包的作用

包名

作用

tool

提供一些命令行工具,如DistCp,archive

mapreduce

Hadoop的Map/Reduce实现

filecache

提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度

fs

文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口

hdfs

HDFS,Hadoop的分布式文件系统实现

ipc

一个简单的IPC的实现,依赖于io提供的编解码功能

io

表示层。将各种数据编码/解码,方便于在网络上传输

net

封装部分网络功能,如DNS,socket

security

用户和用户组信息

conf

系统的配置参数

metrics

系统统计数据的收集,属于网管范畴

util

工具类

record

根据DDL(数据描述语言)自动生成他们的编解码函数,目前可以提供C++和Java

http

基于Jetty的HTTP Servlet,用户通过浏览器可以观察文件系统的一些状态信息和日志

log

提供HTTP访问日志的HTTP Servlet

1.3  包的数量

包名

数量

tool

3

mapreduce

211

filecache

3

fs

69

hdfs

106

ipc

8

io

84

net

13

security

3

conf

3

metrics

23

util

30

record

50

http

3

log

1

15个

610个类

1.4  端口定义

端口名

位置

描述信息

8020

namenode RPC交互端口

 

8021

JT RPC交互端口

 

8649

查看运行状态的端口

 

50070

dfs.http.address

NAMENODE的HTTP服务器和端口

50010 

dfs.datanode.address

DATANODE控制端口,主要用于DATANODE初始化时向NAMENODE提出注册和应答请求

50020

dfs.datanode.ipc.address

DATANODE的RPC服务器地址和端口

50075

dfs.datanode.http.address

DATANODE的HTTP服务器和端口

50090

dfs.secondary.http.address

辅助DATANODE的HTTP服务器和端口

50030

mapred.job.tracker.http.address

JOBTRACKER的HTTP服务器和端口

50060

mapred.task.tracker.http.address

TASKTRACKER的HTTP服务器和端口

 

 

 

 

1.4.1       与HDFS有关的地址及端口属性

任何一个系统具有内部协调职能、和对外职能服务、以级管控服务三部分组成。内部协调主要用于使系统内部提供一个统一的运营基础,对外职能是系统对外提供的主要服务。管控服务是使管者者对整个系统运行状况有一个整体的了解。


1.4.1.1         Namenode相关端口

(1)     fs.default.name

位置:conf/core-site.xml

必须项:是

常用值:hdfs:// [域名或IP地址] :9000

说明:NameNode 主服务器的地址

•必须在所有master及slave上的conf/core-site.xml中设置此项。并且因为Hadoop架构是主master模式,所以在一个集群中的所有master及slave上设置的fs.default.name值应该是唯一一个NameNode 主服务器的地址。

(2)     dfs.http.address

位置:conf/hdfs-site.xml

必须项:否

默认值:0.0.0.0:50070

说明:NameNode HTTP状态监视地址

(3)     dfs.secondary.http.address

位置:conf/hdfs-site.xml

必须项:否

默认值:0.0.0.0:50090

说明:SecondaryNameNode HTTP状态监视地址

1.4.1.2         Datanode相关端口

(1)     dfs.datanode.address

位置:conf/hdfs-site.xml

必须项:否

默认值:0.0.0.0:50010

说明:DataNode 服务的地址

(2)     dfs.datanode.ipc.address

位置:conf/hdfs-site.xml

必须项:否

默认值:0.0.0.0:50020

说明:DataNode IPC服务的地址

(3)     dfs.datanode.http.address

位置:conf/hdfs-site.xml

必须项:否

默认值:0.0.0.0:50075

说明:DataNode HTTP状态监视地址

1.4.2       与MapReduce 有关的地址及端口属性

1.4.2.1         JOBTACKER相关端口

(1)     mapred.job.tracker

位置:conf/mapred-site.xml

必须项:是

常用值:[域名或IP地址] :9001

说明:JobTracker 主服务器地址及端口

•必须在所有master及slave上的conf/mapred-site.xml中设置此项。并且因为Hadoop架构是主master模式,所以在一个集群中的所有master及slave上设置的mapred.job.tracker的值应该是唯一一个JobTracker 主服务器的地址。

(2)     mapred.job.tracker.http.address

位置:conf/mapred-site.xml

必须项:否

默认值:0.0.0.0:50030

说明:JobTracker HTTP状态监视地址

1.4.2.2         TASKTACKER相关端口

(1)     mapred.task.tracker.report.address

位置:conf/mapred-site.xml

必须项:否

默认值:127.0.0.1:0

说明:提交报告用TaskTracker 服务地址

(2)     mapred.task.tracker.http.address

位置:conf/mapred-site.xml

必须项:否

默认值:0.0.0.0:50060

说明:TaskTracker HTTP状态监视地址

 

2       IO包的分析(84个类)

2.1  IO基础包分析(45个类)

序号

类名

作用

备注

1

AbstractMapWritable

Class名与序号的读写抽象实现

抽象实现类

2

ArrayFile

数组到文件和读写实现

继承实现类

3

ArrayWritable

对象实例数组与文件间的读写实现

继承实现类

4

BinaryComparable

字节集的比较抽象类

抽象实现类

5

BooleanWritable

布尔值的读写

抽象实现类

6

BytesWritable

字节数组的读写

抽象实现类

7

ByteWritable

字节的读写

抽象实现类

8

Closeable

Closable的集合方法的呢称定义

接口类

9

CompressedWritable

压缩数组的读写

抽象实现类

10

DataInputBuffer

对内存缓冲区的读操作实现

继承实现类

11

DataOutputBuffer

对内存缓冲区的写操作实现

继承实现类

12

DefaultStringifier

缺省的对象转字串,字串转对象

继承实现类

13

DoubleWritable

双精度浮点数的读写

继承实现类

14

FloatWritable

浮点数的读写

继承实现类

15

GenericWritable

通用读写的代理类

继承实现类

16

InputBuffer

对过滤数据内存缓冲区的读操作实现

继承实现类

17

IntWritable

整数的读写

继承实现类

18

IOUtils

IO操作的工具类

独立内存类

19

LongWritable

长整数的读写

继承实现类

20

MapFile

键值文件的拷贝

独立内存类

21

MapWritable

Map集合的读写

继承实现类

22

MD5Hash

MD5的值的读写

继承实现类

23

MultipleIOException

多类出错信息的扩展

继承实现类

24

NullWritable

空读写类

继承实现类

25

ObjectWritable

对象读写

继承实现类

26

OutputBuffer

对过滤数据内存缓冲区的写操作实现

继承实现类

27

RawComparator

原始比较接口定义

接口类

28

SequenceFile

流式文件读写KV

独立内存类

29

SetFile

集合文件读写

继承实现类

30

SortedMapWritable

排序后集合文件读写

继承实现类

31

Stringifier

方法集定义

接口类

32

Text

UTF8文本格式读写

继承实现类

33

TwoDArrayWritable

二维数组的读写

继承实现类

34

UTF8

UTF8格式读写

继承实现类

35

VersionedWritable

版本读写

继承实现类

36

VersionMismatchException

版本出错信息扩展

继承实现类

37

VIntWritable

可变长整型值读写

继承实现类

38

VLongWritable

可变长长整型值读写

继承实现类

39

Writable

多字段读写方法集定义

接口类

40

WritableComparable

带比较方法多字段读写方法集定义

接口类

41

WritableComparator

带比较读写的实现类

继承实现类

42

WritableFactories

读写类实例化的工厂类代理

独立内存类

43

WritableFactory

生成读写类的接口

接口类

44

WritableName

根据符号名称找到读写的类型名

独立内存类

45

WritableUtils

读写类的方法汇总工具类

独立内存类

 

2.2  Compress包的分析(16个类)

序号

类名

作用

备注

1

CompressionOutputStream

压缩数据输出方法集合定义类

抽象类

2

CompressorStream

压缩数据输出方法实现类

继承实现类

3

BlockCompressorStream

块数据压缩输出扩展实现类

继承实现类

4

CompressionInputStream

压缩数据读取方法集合定义类

抽象类

5

DecompressorStream

解压缩数据读取方法集合实现类

继承实现类

6

BlockDecompressorStream

块数据解压缩读取扩展实现类

继承实现类

7

Compressor

压缩数据接口方法定义

接口类

8

Decompressor

解压缩数据接口方法定义

接口类

9

CompressionCodec

压缩和解压数据格式接口方法定义

接口类

10

BZip2Codec

BZIP2压和解压格式实现类

继承实现类

11

DefaultCodec

缺省压和解压格式实现类

继承实现类

12

GzipCodec

GZIP压和解压格式实现类

继承实现类

13

LzoCodec

LZO压和解压格式实现类

继承实现类

14

LzopCodec

Lzop压和解压格式实现类

继承实现类

15

CodecPool

压缩和解压类的管理代理类

独立内存类

16

CompressionCodecFactory

根据文件名找到对应的压缩和解压格式类

独立内存类

 

2.3  Compress.bzip2包的分析(4个类)

序号

类名

作用

备注

1

BZip2Constants

BZIP2压和解压的固定参数

接口类

2

CBZip2InputStream

按格式进行流式读取到内存中

继承实现类
 

3

CBZip2OutputStream

按格式进行流式写入到内存中组成写入数据集

继承实现类

4

CRC

加校验的工具类

独立内存类

 

2.4  Compres.lzo包的分析(2个类)

序号

类名

作用

备注

1

LzoCompressor

LZO格式压缩数据表定义及实现类

继承实现类

2

LzoDecompressor

LZO格式解压数据表定义及实现类

继承实现类

 

2.5  Compress.zlib包的分析(5个类)

序号

类名

作用

备注

1

BuiltInZlibDeflater

压缩实现类

继承实现类

2

BuiltInZlibInflater

解压实现类

继承实现类

3

ZlibCompressor

Zlib格式压数据表定义及实现类

继承实现类

4

ZlibDecompressor

Zlib格式解压数据表定义及实现类

继承实现类

5

ZlibFactory

压或解压实例生成代理类

独立内存类

 

2.6  Compress.retry包的分析(4个类)

序号

类名

作用

备注

1

RetryInvocationHandler

按重试策略调取压缩方法

继承实现类

2

RetryPolicies

重试策略集定义类

独立内存类

3

RetryPolicy

重试策略方法定义

接口类

4

RetryProxy

重试策略集实例化工具类

独立内存类

 

2.7  Serializer包的分析(8个类)

序号

类名

作用

备注

1

Deserializer

反序列化接口定义

接口类

2

Serializer

序列化接口定义

接口类

3

DeserializerComparator

反序例化实现类

继承实现类

4

Serialization

序列和反序列实例访问方法集定义

接口类

5

JavaSerialization

JAVA序列和反序列实例访问方法实现类

继承实现类

6

JavaSerializationComparator

JAVA反序列实现类

继承实现类

7

SerializationFactory

序列和反序列实例的创建和组织类

继承实现类

8

WritableSerialization

读写数据时经序列或反序列转换工具

继承实现类

 

 

 

3       IPC包的分析(8个类)

3.1  IPC包的简介

3.1.1       基础分析

RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。当我们讨论HDFS的,通信可能发生在:

•Client-NameNode之间,其中NameNode是服务器

•Client-DataNode之间,其中DataNode是服务器

•DataNode-NameNode之间,其中NameNode是服务器

•DataNode-DateNode之间,其中某一个DateNode是服务器,另一个是客户端

如果我们考虑Hadoop的Map/Reduce以后,这些系统间的通信就更复杂了。为了解决这些客户机/服务器之间的通信,Hadoop引入了一个RPC框架。该RPC框架利用的Java的反射能力,避免了某些RPC解决方案中需要根据某种接口语言(如CORBA的IDL)生成存根和框架的问题。但是,该RPC框架要求调用的参数和返回结果必须是Java的基本类型,String和Writable接口的实现类,以及元素为以上类型的数组。

既然是RPC,当然就有客户端和服务器,当然,org.apache.hadoop.rpc也就有了类Client和类Server。但是类Server是一个抽象类,类RPC封装了Server,利用反射,把某个对象的方法开放出来,变成RPC中的服务器。

 

3.1.2       应用分析

   由于Client可能和多个Server通信,典型的一次HDFS读,需要和NameNode打交道,也需要和某个/某些DataNode通信。这就意味着某一个Client需要维护多个连接。同时,为了减少不必要的连接,现在Client的做法是拿ConnectionId(图中最右侧)来做为Connection的ID。ConnectionId包括一个InetSocketAddress(IP地址+端口号或主机名+端口号)对象和一个用户信息对象。这就是说,同一个用户到同一个InetSocketAddress的通信将共享同一个连接。

 

3.2  基础包的分析(5个类)

序号

类名

作用

备注

1

Client

通讯客户端实现类

独立内存类

2

RemoteException

IO出错信息类型扩展

继承实现类

3

RPC

根据类符号调用相应的类方法

独立内存类

4

Server

通讯服务器实现

抽象类

5

VersionedProtocol

根据通讯客户端参数来返回服务端协议版本

接口类

 

 

3.3  Metrics包的分析(7个类)

序号

类名

作用

备注

1

RpcMetrics

RPC调用对象时的信息记录表

继承实现类

2

RpcMgt

RPC信息表填充的实现类

继承实现类

3

RpcMgtMBean

RPC运行时的各信息应用方法定义

接口类

 

 

 

4        HDFS包的分析(106个类)

4.2  基础包的分析(6个类)

序号

类名

作用

备注

1

ChecksumDistributedFileSystem

分布式文件系统校验

继承实现类

2

DFSClient

客户端访问分布式文件系统的代理实现类,代理公司的对外服务,生产厂的各个包含。

独立内存类

3

DFSUtil

校验路径的分隔符存在有(: /)

独立内存类

4

DistributedFileSystem

分布式文件系统功能的实现

继承实现类

5

HftpFileSystem

采用HTTP协议来访问HDFS文件

继承实现类

6

HsftpFileSystem

采用HTTPs协议来访问HDFS文件

继承实现类

 

 

4.3  protocol包的分析(13个类)

序号

类名

作用

备注

1

AlreadyBeingCreatedException

文件已存在的异常信息抛出扩展

继承实现类

2

Block

Bolck内存基本块结构定义与读写访问

继承实现类

3

BlockListAsLongs

Bolck块的索引构成数组

独立内存类

4

ClientDatanodeProtocol

Datanode的协议结构的字段、值及方法

接口类

5

ClientProtocol

客户协议方法集定义

接口类

6

DatanodeID

DatanodeID组成部分的定义及访问读写类

继承实现类

7

DatanodeInfo

Datanode状态信息结构定义及访问读写类

继承实现类

8

DataTransferProtocol

数据传输状态或方法值定义

接口类

9

FSConstants

HDFS文件系统的规则值定义

接口类

10

LocatedBlock

已定位到的块的说明信息表的定义及读写

继承实现类

11

LocatedBlocks

一组数据块及文件长度说明信息表的定义及读写

继承实现类

12

QuotaExceededException

引用出错信息扩展

继承实现类

13

UnregisteredDatanodeException

未在索引块中定义的数据块中的出错信息定义

继承实现类

 

4.4  server.balancer包的分析(1个类)

序号

类名

作用

备注

1

Balancer

负载均衡进程,各节点基于他来进行任务量的平衡

独立内存类

 

4.5  server.common包的分析(12个类)

序号

类名

作用

备注

1

GenerationStamp

生成时间戳的功能及读写访问类

继承实现类

2

HdfsConstants

Hdfs常量字段及取值的定义

接口类

3

InconsistentFSStateException

文件状态检查出错提示信息

继承实现类

4

IncorrectVersionException

版本不正确检查时提示信息

继承实现类

5

Storage

内存中以扩展表记录方式记录当前namenode索引信息及状态信息(文件是否在打开)

继承实现类

6

StorageInfo

内存中文件索引信息基本表

独立内存类

7

Upgradeable

对象升级接口方法集定义

接口类

8

UpgradeManager

管理职责的定义

独立内存类、抽象

9

UpgradeObject

可升级对象的接口方法实现

继承实现类

10

UpgradeObjectCollection

可升级对象的集合容器实现

独立内存类

11

UpgradeStatusReport

升级过程状态信息表定义

继承实现类

12

Util

取系统时间的实现

独立内存类

 

4.6  server.datanode包的分析(14个类)

序号

类名

作用

备注

1

BlockMetadataHeader

数据块头部结构定义及实现

独立内存类

2

BlockReceiver

数据块接收容器信息结构及实现写入到盘中

继承实现类

3

BlockSender

从磁盘中读数据块并发送到相应接收者

继承实现类

4

BlockTransferThrottler

块传送时的调节参数配置表

独立内存类

5

DataBlockScanner

数据块的扫描工具实现

继承实现类

6

DataNode

数据块的核心管理器

继承实现类

7

DatanodeBlockInfo

数据块的基本信息维护表

独立内存类

8

DataStorage

数据存贮文件信息的定义与实现

继承实现类

9

DataXceiver

与数据读写通讯服务器的客户端实现

继承实现类

10

DataXceiverServer

读写的通讯服务器实现

继承实现类

11

FSDataset

数据块集合定义与实现

继承实现类

12

FSDatasetInterface

数据块操作的职能定义

接口类

13

UpgradeManagerDatanode

升级数据块管理者的实现

继承实现类

14

UpgradeObjectDatanode

升级数据块对象的实现

继承实现类

 

4.7  server.datanode.metrics包的分析(4个类)

序号

类名

作用

备注

1

DataNodeMetrics

数据块的量度信息输出实现类

继承实现类

2

DataNodeStatistics

数据块统计功能实现类

继承实现类

3

DataNodeStatisticsMBean

统计职能的定义

接口类

4

FSDatasetMBean

数据集的职能定义

接口类

 

4.8  server.namenode包的分析(40个类)

序号

类名

作用

备注

1

BlocksMap

数据块的索引信息定义及索引文件定义

独立内存类

2

CheckpointSignature

存贮信息的签名信息表定义

继承实现类

3

CorruptReplicasMap

损坏块的复制集合定义及实现

独立内存类

4

DatanodeDescriptor

数据节点的状态信息定义及实现

继承实现类

5

DfsServlet

Web方式操作DFS的代理接口

继承实现类

6

EditLogInputStream

读取日志数据的类方法定义及实现

继承实现类

7

EditLogOutputStream

写日志数据的类方法定义及实现

继承实现类

8

FileChecksumServlets

文件较验web操作命令的代理实现

继承实现类

9

FileDataServlet

文件数据web操作命令的代理实现

继承实现类

10

FsckServlet

文件系统检查web操作命令的代理实现

继承实现类

11

FSDirectory

文件目录结构的定义及实现

继承实现类

12

FSEditLog

文件系统日志表的定义

独立内存类

13

FSImage

文件系统的目录、文件、数据的索引及关系信息定义

继承实现类

14

FSNamesystem

为数据节点命名的信息结构定义

继承实现类

15

GetImageServlet

文件索引信息获取web操作命令的代理实现

继承实现类

16

Host2NodesMap

数据节点表集合的管理实现类

继承实现类

17

INode

节点基础信息结构定义

继承实现类

18

INodeDirectory

目录节点信息结构定义

继承实现类

19

INodeDirectoryWithQuota

带标记录的目录节点信息结构定义

继承实现类

20

INodeFile

文件节点信息结构定义

继承实现类

21

INodeFileUnderConstruction

在创建之下的文件节点信息结构定义

继承实现类

22

JspHelper

JSP文件生成工具

独立内存类

23

LeaseExpiredException

契约到期出错提示信息扩展

继承实现类

24

LeaseManager

契约信息结构定义及实现

独立内存类

25

ListPathsServlet

文件目录信息web操作命令的代理实现

继承实现类

26

NameNode

名称节点的核心服务器类

继承实现类

27

NamenodeFsck

名称节点的系统检测类

独立内存类

28

NotReplicatedYetException

未完成复制的出错提示信息扩展

继承实现类

29

PendingReplicationBlocks

正在复制数据块的信息表定义

独立内存类

30

PermissionChecker

权限检查表结构定义及实现

独立内存类

31

ReplicationTargetChooser

数据块复制策略设定

独立内存类

32

SafeModeException

安全模式下的提示信息扩展类定义

继承实现类

33

SecondaryNameNode

名称节点的热备节点核心线程类

继承实现类

34

SerialNumberManager

为用户或组设定基于名的一个编号关系

独立内存类

35

StreamFile

数据块流式读取web操作命令的代理实现

继承实现类

36

StringBytesWritable

字串转utf8字节工具

继承实现类

37

TransferFsImage

通过http方式来获取文件的镜像信息

继承实现类

38

UnderReplicatedBlocks

复制完成后的块信息表定义

继承实现类

39

UpgradeManagerNamenode

升级名称节点的管理信息

继承实现类

40

UpgradeObjectNamenode

升级名称节点的对象信息

继承实现类

 

4.9  server.namenode.metrics包的分析(5个类)

序号

类名

作用

备注

1

FSNamesystemMBean

取名称节点的文件状态信息

接口类

2

FSNamesystemMetrics

名称节点的文件命名度量信息设定

继承实现类

3

NameNodeMetrics

名称节点的自身度量信息设定

继承实现类

4

NameNodeStatistics

名称节点的统计信息读取

继承实现类

5

NameNodeStatisticsMBean

名称节点的统计信息方法集的定义

接口类

 

4.10         server.protocol包的分析(11个类)

序号

类名

作用

备注

1

BlockCommand

数据块命令定义及实现类

继承实现类

2

BlockMetaDataInfo

数据块的元数据信息定义及实现

继承实现类

3

BlocksWithLocations

带位置的块信息的读写

继承实现类

4

DatanodeCommand

数据节点基本信息定义及实现

继承实现类

5

DatanodeProtocol

数据节点的操作方法和基础配置信息定义

接口类

6

DatanodeRegistration

数据节点的注册信息读写方法定义及实现

独立内存类

7

DisallowedDatanodeException

与名称节点通讯出错的提示信息扩展

继承实现类

8

InterDatanodeProtocol

升级数据块信息的方法定义

接口类

9

NamenodeProtocol

名称节点方法集定义

接口类

10

NamespaceInfo

返回数据节点与名称节点关联信息定义

继承实现类

11

UpgradeCommand

升级数据块命名实现

继承实现类

 

4.11         tools包的分析(2个类)

序号

类名

作用

备注

1

DFSAdmin

管理员命令的实现

继承实现类

2

DFSck

文件系统检查命令的实现

继承实现类

 

 

 

5       UTIL包的分析(30个类)

 

 

序号

名称

作用

备注

1

Daemon

各种线程实例的集合存放处

 

2

DataChecksum

数据检查和统计类

 

3

DiskChecker

文件或目录是否在存检查

 

4

GenericOptionsParser

操作命令正确性检查器

 

5

GenericsUtil

取类型和数组转换

 

6

HeapSort

堆栈排序

 

7

HostsFileReader

宿主机上文件读取

 

8

IndexedSortable

索引排序基础端接口

接口

9

IndexedSorter

索引排序客户端接口

接口

10

LineReader

读取一行到内存中

 

11

MergeSort

合并后排序

 

12

NativeCodeLoader

系统程序加载类程序

 

13

PlatformName

取平台名称

 

14

PrintJarMainClass

列出jar文件中的类

 

15

PriorityQueue

队列优先级设置

 

16

ProcfsBasedProcessTree

进程树

 

17

ProgramDriver

有main类的驱动

 

18

Progress

进度计算

 

19

Progressable

进度方法接口

接口

20

QuickSort

快速排序

 

21

ReflectionUtils

类属性提取

 

22

RunJar

运行JAR包

 

23

ServletUtil

Servlet的工具类

 

24

Shell

运行操作系统命令类

 

25

StringUtils

字串处理类

 

26

Tool

Run方法接口

接口

27

ToolRunner

Run方法驱动

 

28

UTF8ByteArrayUtils

Utf8的字节数组比较

 

29

VersionInfo

系统版本信息

 

30

XMLUtils

XML解析类

 

 

6       TOOLS包的分析(3个类)

客户端用的工具命令

序号

类名

作用

备注

1

DistCp

不同文件之间位移

 

2

HadoopArchives

Hadoop文件打包

 

3

Logalyzer

日志分析

 

7       SERCURITY包的分析(3个类)

序号

类名

作用

备注

1

AccessControlException

权限检查提示信息

 

2

UnixUserGroupInformation

用户组信息unix系统上的读取实现

 

3

UserGroupInformation

用户组信息的存贮类和形式类

 

 

8       RECORD包的分析(50个类)

中介类是继承了接口的,中介类有三种(1)有委托中介类,即内部包含另一个存放地,此类只是规则中介;(2)无委托中介类,即自身就是一个存贮类;(3)控制委托中介类,即参数中介类,由控制提供该类具体的空间。

8.1  自身包下(13个类)

序号

类名

作用

备注

1

BinaryRecordInput

类型字段的读取

有委托中介类

2

BinaryRecordOutput

类型字段的写入

有委托中介类

3

Buffer

字节集存放类

无委手中介类

4

CsvRecordInput

推回类型方式字段读取

有委托中介类,推回输入流PushbackInputStream和PushbackReader带有一个推回缓冲区

5

CsvRecordOutput

推回类型方式字段写入

有委托中介类

6

Index

索引接口

接口类

7

Record

资源record方式读取抽象

抽象参数中介类,控制委托

8

RecordComparator

抽象类

参数委托中介类

9

RecordInput

原子读方法集

接口类

10

RecordOutput

原字写方法集

接口类

11

Utils

字串转XML,字串转字节等

独立功能类,基本内存类

12

XmlRecordInput

XML的记录方式读

有委托中介类

13

XmlRecordOutput

XML的记录方式写

有委托中介类

 

8.2  compiler包(21个类)

序号

类名

作用

备注

1

CGenerator

C语言代码生成

继承实现类

2

CodeBuffer

生成代码字串

独立内存类

3

CodeGenerator

代码生成方法抽象类

抽象类

4

CppGenerator

Cpp语言代码生成

继承实现类

5

JavaGenerator

JAVA语言代码生成

继承实现类

6

Consts

常量定义类

独立内存类

7

JBoolean

Boolean类型代码的描述文本生成

类继承实现类

8

JBuffer

buffer类型代码的描述文本生成

类继承实现类

9

JByte

byte类型代码的描述文本生成

类继承实现类

10

JCompType

comp类型代码的描述文本生成

类继承实现类

11

JDouble

double类型代码的描述文本生成

继承实现类

12

JField

名和类型键值对内存类

独立内存类

13

JFile

File名的定义类

独立内存类

14

JFloat

float类型代码的描述文本生成

继承实现类

15

JInt

int类型代码的描述文本生成

继承实现类

16

JLong

long类型代码的描述文本生成

继承实现类

17

JMap

map类型代码的描述文本生成

继承实现类

18

JRecord

Record类型代码的描述文本生成

继承实现类

19

JString

string类型代码的描述文本生成

继承实现类

20

JType

基本属性定义类

抽象定义类

21

JVector

Vector类型代码的描述文本生成

继承实现类

 

8.3  compiler.ant包(1个类)

序号

类名

作用

备注

1

RccTask

Ant文件定义及运行类

继承实现类

 

 

 

8.4  compiler.generate包(8个类)

序号

类名

作用

备注

1

ParseException

分析出错时的各类提示信息

继承实现类

2

Rcc

Rcc工具类

继承接口实现类

3

RccConstants

Rcc常量定义

独立内存类

4

RccTokenManager

JJ模板实现类

常量继承实现类

5

SimpleCharStream

简单字符流工具类

独立内存类

6

Token

间定义类

独立内存类

7

TokenMgrError

错误类型扩展定义类

继承实现类

8

rcc.jj

 

 

 

8.5  meta包(7个类)

序号

类名

作用

备注

1

FieldTypeInfo

字段类型定义类

独立内存类

2

MapTypeID

键值二列表定义类

继承实现类

3

RecordTypeInfo

记录类型定义类

继承实现类

4

StructTypeID

结构类型定义类

继承实现类

5

TypeID

字节与类型定义类

独立内存类

6

Utils

根据类型读取相应值

独立内存类

7

VectorTypeID

数组类型定义类

继承实现类

 

9       NET包的分析(13个类)

序号

类名

作用

备注

1

CachedDNSToSwitchMapping

内存DNS信息对

接口继承实现类

2

DNS

DNS功能实现类

独立内存类

3

DNSToSwitchMapping

解析DNS接口定义

接口类

4

NetUtils

网络功能调用类

独立内存类

5

NetworkTopology

网络拓朴关系类

独立内存类

6

Node

节点接口定义

接口类

7

NodeBase

节点接口实现类

接口继承实现类

8

ScriptBasedMapping

从脚本文件中读DNS信息

继承实现类

9

SocketInputStream

基于套接字的读

中介委托类

10

SocketIOWithTimeout

时间设置类

独立内存类

11

SocketOutputStream

基于套接字的写

中介委托类

12

SocksSocketFactory

套接字接口实现类

中介委托类

13

StandardSocketFactory

标准套接字实现类

继承实现类

 

10    Metrics包的分析(23个类)

10.1         自身类的分析(6个类)

序号

类名

作用

备注

1

ContextFactory

上下文数据采集类

独立内存类

2

MetricsContext

度量数据访问接口

接口类

3

MetricsException

度量出错信息类型扩展

继承实现类(纵向值扩展)

4

MetricsRecord

度量记录格式定义类

接口类

5

MetricsUtil

度量上下文访问类

对外访问独立类

6

Updater

度量上下文更新方法

接口类

 

10.2         Metrics.file包的分析(1个类)

序号

类名

作用

备注

1

FileContext

将度量信息写到文件中

继承实现类

 

10.3         Metrics.gangli包的分析(2个类)

序号

类名

作用

备注

1

GangliaContext

将度量信息写到map中

继承实现类

 

10.4         Metrics.jvm包的分析(2个类)

序号

类名

作用

备注

1

EventCounter

四种事件发生计数器

继承实现类

2

JvmMetrics

虚拟机度量信息管理

继承实现类

 

10.5         Metrics.spi包的分析(7个类)

序号

类名

作用

备注

1

AbstractMetricsContext

度量信息采集实现类

抽象继承实现类

2

MetricsRecordImpl

度量信息格式化记录类

继承实现类

3

MetricValue

度量值总量的定义类

独立内存类

4

NullContext

缺省信息采集实现类

继承实现类

5

NullContextWithUpdateThread

带采集周期的实现类

继承实现类

6

OutputRecord

度量信息的VO类

独立内存类

7

Util

采集目的地的指向类

独立内存类

 

10.6         Metrics.util包的分析(5个类)

序号

类名

作用

备注

1

MBeanUtil

度量服务对象的管理

独立内存类

2

MetricsIntValue

度量信息的值是整型的类

独立内存类

3

MetricsLongValue

度量信息的值是长整型的类

独立内存类

4

MetricsTimeVaryingInt

度量信息的值是随时间变化的整型的类

独立内存类

5

MetricsTimeVaryingRate

度量信息的值随时间变化的频率

独立内存类

 

11    LOG包的分析(1个类)

序号

类名

作用

备注

1

LogLevel

日志信息按类型输出管理

独立内存类

 

 

 

 

12    HTTP包分析(3个类)

序号

类名

作用

备注

1

FilterContainer

过滤器的填加方法

接口类

2

FilterInitializer

过滤器集合的设置方法

接口类

3

HttpServer

Jetty通讯容器工具

独立内存类

 

13    Conf包的分析(3个类)

序号

类名

作用

备注

1

Configurable

配置信息读写方法集合

接口类

2

Configured

配置信息读写实现类

继承实现类

3

Configuration

配置信息的VO类

独立内存类

 

14    FileCache包的分析(3个类)

序号

类名

作用

备注

1

Configurable

配置信息读写方法集合

接口类

2

Configured

配置信息读写实现类

继承实现类

3

Configuration

配置信息的VO类

独立内存类

 

15    FS包的分析(69个类)

15.1         自身包的分析(36个类)

序号

类名

作用

备注

1

BlockLocation

存贮块数据的空间索引信息

继承实现类

2

BufferedFSInputStream

从buffer内存中读取数据到字节数组中

继承实现类

3

ChecksumException

出错信息扩展类

继承实现类

4

ChecksumFileSystem

带校验文件的创建增删操作

继承实现类

5

ContentSummary

文件或目录统计信息数据类

继承实现类

6

DF

磁盘空间统计信息访问类

继承实现类

7

DU

磁盘空间统计信息访问类

继承实现类

8

FileChecksum

文件校验信息方法定义类

抽象继承实现类

9

FileStatus

文件当前状况结构定义及读写数据类

继承实现类

10

FileSystem

文件功能集的抽象实现实义类

继承实现类

11

FileUtil

文件操作的组织代理类。

独立内存类

12

FilterFileSystem

文件系统过滤实现类

继承实现类

13

FSDataInputStream

文件数据读入到用户内存定义空间中

继承实现类

14

FSDataOutputStream

用户内存数据写入到文件中

继承实现类

15

FSError

ERRO信息扩展类

继承实现类

16

FSInputChecker

带校验数据读入类

继承实现类

17

FSInputStream

从FS中读取数据

继承实现类

18

FSOutputSummer

写入数据到FS中

继承实现类

19

FsShell

FS功能的集合代理类

继承包含委托执行类实现

20

FsShellPermissions

文件操作权限检查

独立内存类

21

FsUrlConnection

远程FS文件的读取行为连接类

继承实现类

22

FsUrlStreamHandler

远程FS文件的读取行为连接驱动类

继承实现类

23

FsUrlStreamHandlerFactory

连接驱动类的工厂类

继承实现类

24

GlobExpander

全局扩展类

独立内存类

25

HarFileSystem

FS压缩文件操作实现类

继承实现类

26

InMemoryFileSystem

内存文件系统的操作实现类

继承实现类

27

LocalDirAllocator

本地目录文件块操作类

独立内存类

28

LocalFileSystem

本地文件系统操作类

继承实现类

29

MD5MD5CRC32FileChecksum

MD5格式的文件较验

继承实现类

30

Path

FS文件路径信息操作类

继承实现类

31

PathFilter

FS文件路径过滤

接口类

32

PositionedReadable

指定位置读方法定义

接口类

33

RawLocalFileSystem

无较验本地文件操作

继承实现类

34

Seekable

偏移地址方法定义

接口类

35

Syncable

异步操作方法定义

接口类

36

Trash

文件移动到垃圾箱操作

独立内存类

 

15.2         Fs.ftp包的分析(3个类)

序号

类名

作用

备注

1

FTPException

FTP出错信息扩展

独立内存继承类

2

FTPFileSystem

FTP远程文件在HDFS存贮中的创建

继承实现类

3

FTPInputStream

FTP文件的读入后并写入到FS中

继承实现类

 

 

15.3         Fs. kfs包的分析(5个类)

序号

类名

作用

备注

1

IFSImpl

KFS的方法集合

接口类

2

KFSImpl

KFS的方法实现类

继承实现类

3

KFSInputStream

从KFS读取数据写入到FS

继承实现类

4

KFSOutputStream

从FS读取数据写入到KFS

继承实现类

5

KosmosFileSystem

FKS的系统功能中介类

继承实现类

 

 

 

15.4         Fs.s3包的分析(12个类)

序号

类名

作用

备注

1

Block

块记录表定义(序号,度量)

独立内存类

2

FileSystemStore

FS系统读写的接口

接口类

3

INode

目录或文件的节点定义类

独立内存类

4

Jets3tFileSystemStore

S3文件系统的访问接口

继承实现类

5

MigrationTool

S3文件数据的迁移工具

继承实现类

6

S3Credentials

S3凭证验证

独立内存类

7

S3Exception

S3出错信息扩展

继承实现类

8

S3FileSystem

S3文件系统的统一代理使者

继承实现类

9

S3FileSystemException

S3文件操作时出错信息扩展

继承实现类

10

S3InputStream

S3文件读入到FS中

继承实现类

11

S3OutputStream

FS文件写入到S3中

继承实现类

12

VersionMismatchException

版本出错信息扩展

继承实现类

 

15.5         Fs.s3native包的分析(5个类)

序号

类名

作用

备注

1

FileMetadata

文件元数据(文件名、长度、状态)定义类

独立内存类

2

Jets3tNativeFileSystemStore

S3文件本地访部问实现类

继承实现类

3

NativeFileSystemStore

S3文件读写方法集定义

接口类

4

NativeS3FileSystem

S3文件读写到本地实现类

继承实现类

5

PartialListing

组成部分定义表

独立内存类

 

15.6         Fs.permission包的分析(4个类)

序号

类名

作用

备注

1

AccessControlException

出错信息的扩展,具有的记录定义

继承实现类

2

FsAction

行为枚举键值类

独立内存类

3

FsPermission

文件访问行为权限信息记录的中介类

继承实现类

4

PermissionStatus

文件访问的用户和组信息记录的中介类

继承实现类

 

 

15.7         Fs.shell包的分析(4个类)

序号

类名

作用

备注

1

Command

命令执行代理类

继承实现类

2

CommandFormat

命令格式检查类

独立内存类

3

CommandUtils

命令语句生成工具类

独立内存类

4

Count

数量统计功能类

继承实现类

 

 

 

 

16    MapRed包的分析(211个类)

16.1         基础类包的分析(135个类)

序号

类名

作用

备注

1

BasicTypeSorterBase

基本k-v的元数据信息定义类(K数量、度量等)

继承实现类

2

BufferSorter

排序方法接口定义

扩展接口类

3

Child

启动子线程管理类

独立内存类

4

ClusterStatus

MR集群的总量定义类

继承实现类

5

CommitTaskAction

置任务状态为确认

继承实现类

6

CompletedJobStatusStore

已完成作业的事后管理类

线程实现类

7

Counters

作业数量管理器

继承实现类

8

DefaultJobHistoryParser

作业历史文件读写

独立内存类

9

DisallowedTaskTrackerException

不充许任务者与作业连接时出错信息扩展

继承实现类

10

EagerTaskInitializationListener

作业创建事件发生时的监听类,生成大量任务线程

继承实现类

11

FileAlreadyExistsException

文件已存在出错信息扩展类

继承实现类

12

FileInputFormat

从文件中按KV格式的信息定义

继承实现类

13

FileOutputCommitter

指定输出到文件的确认

继承实现类

14

FileOutputFormat

从KV格式读取信息输出到文件的规则信息定义

继承实现类

15

FileSplit

文件分割器

继承实现类

16

HeartbeatResponse

心跳信息的定义类

继承实现类

17

HistoryViewer

Job历史文件的查看

独立内存类

18

ID

ID记录的访问

继承实现类

19

IFile

文件的读取与生成代理组织

独立内存类

20

IFileInputStream

带校验的文件读取执行

继承实现类

21

IFileOutputStream

带校验的文件写入执行

继承实现类

22

IndexCache

索引缓冲区的创建与访问

独立内存类

23

IndexRecord

索引记录格式定义类

独立内存类

24

InputFormat

切割份数和读取记录的方法定义

接口类

25

InputSplit

切割度量和切割位置的方法扩展

接口扩展类

26

InterTrackerProtocol

内部任务协议方法定义

接口扩展类

27

InvalidFileTypeException

非法文件类型错误信息扩展

继承实现类

28

InvalidInputException

无效输入类型错误信息扩展

继承实现类

29

InvalidJobConfException

JOB配置出错信息扩展

继承实现类

30

IsolationRunner

独立执行某个作业的程序

独立可执行类

31

JobChangeEvent

作业事件定义的抽象类

抽象类

32

JobClient

作业的逻辑策略执行管理类,是服务的注册入口

继承实现类

33

JobConf

MR的输入、输出、规则的值配置定义和存贮类

继承实现类

34

JobConfigurable

MR配置文件的接口方法定义

接口类

35

JobContext

作业和进程的关系定义类

独立内存类

36

JobEndNotifier

任务结束事件的监测和发送管理器

独立内存类

37

JobHistory

作业历史记录格式定义与记录读取和写入类

独立内存类

38

JobID

JOBID的定义类

继承扩展类

39

JobInProgress

作业和进程的所有信息的定义类

独立内存类

40

JobInProgressListener

作业相关进程的临听事件定义

抽象类

41

JobPriority

作业优先级符号枚举定义

枚举类

42

JobProfile

作业基本信息表定义类

继承扩展类

43

JobQueueClient

列出正在执行的作业队列的工具类

继承扩展类

44

JobQueueInfo

作业队列信息表的定义管理类

继承实现类

45

JobQueueJobInProgressListener

作业队例的所有作业的事件监听器定义

继承实现类

46

JobQueueTaskScheduler

作业队列关联的任务执行计划管理类

继承实现类

47

JobShell

作业的命令行执行工具

继承实现类

48

JobStatus

作业状态表定义管理类

继承实现类

49

JobStatusChangeEvent

作业状态事件变化前后表定义

继承实现类

50

JobSubmissionProtocol

作业的各类查询命令和状态控制命令集合

接口定义类

51

JobTracker

作业命令的实现

继承实现类

52

JobTrackerInstrumentation

作业命令执行状态方法定义(提交、完成)

独立内存类

53

JobTrackerMetricsInst

作业命令执行状态方法的计数实现

继承实现类

54

JSPUtil

处理JSP提交指令和生成JSP格式的报告

独立内存类

55

JVMId

虚拟机ID信息表定义及访问方式实现

继承实现类

56

JvmManager

虚拟机与作业的MR 任务关系管理

独立内存类

57

JvmTask

任务与虚拟机关系表定义及管理

继承实现类

58

KeyValueLineRecordReader

以行为单位的KV表的定义及KV记录的生成

继承实现类

59

KeyValueTextInputFormat

文本文件按行方式读取到内存中写入到KV记录表中

继承实现类

60

KillJobAction

被kill的作业的记录表定义

继承实现类

61

KillTaskAction

被kill的任务的记录表定义

继承实现类

62

LaunchTaskAction

已调装的任务的记录表定义

继承实现类

63

LimitTasksPerJobTaskScheduler

每作业最少任务计划表定义

继承实现类

64

LineRecordReader

行记录表的记录创建与读取

继承实现类

65

LocalJobRunner

本地作业的命令应用实现

继承实现类

66

MapFileOutputFormat

MAP文件输出格式定义(顺序)

继承实现类

67

MapOutputFile

获取MAP输出文件的路径信息

独立内存类

68

Mapper

文件内容分拆成N个KV键值对文件

接口类

69

MapReduceBase

扩展方法的空实现类

继承实现类

70

MapRunnable

客户继承该接口可以实现局部的文件映射

接口类

71

MapRunner

70接口的实现类

继承实现类

72

MapTask

MAP任务的任务定义表和任务执行实现类

继承实现类

73

MapTaskCompletionEventsUpdate

MAP任务完成事件通知表定义及记录读写

继承实现类

74

MapTaskRunner

Map作务的线程实现类

继承实现类

75

MapTaskStatus

MAP任务的执行状态访问方法实现

继承实现类

76

Merger

合并文件实现类

独立内存类

77

MergeSorter

合并前的排序实现类

继承实现类

78

MRConstants

MR常量定义

接口类

79

MultiFileInputFormat

多个文件输入时的处理方式定义类

继承实现类

80

MultiFileSplit

多文件分隔表的定义与记录处理

继承实现类

81

OutputCollector

KV记录收集方法定义

接口类

82

OutputCommitter

KV记录输出的确认抽象类方法定义

抽象类

83

OutputFormat

KV输出格式的类型定义接口

接口类

84

OutputLogFilter

输出日志过滤类实现

继承实现类

85

Partitioner

按K值进行分类块多少的方法定义

接口类

86

QueueManager

所有队列表的集合管理类

独立内存类

87

RamManager

预留内存块大小方法定义

接口类

88

RawKeyValueIterator

KEY的递归关系接口定义

接口类

89

RecordReader

KV读取类方法定义

接口类

90

RecordWriter

KV写入类方法定义

接口类

91

Reducer

归并接口定义

接口类

92

ReduceTask

归并任务表的定义与访问驱动类

继承实现类

93

ReduceTaskRunner

归并任务的线程实现类

继承实现类

94

ReduceTaskStatus

归并任务的状态表定义及记录管理类

继承实现类

95

ReinitTrackerAction

重新初始化跟踪器类型增加实现类

继承实现类

96

Reporter

控制报告的接口定义

接口类

97

ResourceEstimator

资源估计量的实现类

独立内存类

98

RunningJob

正在运行作业的操作方法集合定义

接口类

99

SequenceFileAsBinaryInputFormat

以二进制格式KV顺序读取流式文件

继承实现类

100

SequenceFileAsBinaryOutputFormat

以二进制格式KV顺序定入流式文件

继承实现类

101

SequenceFileAsTextInputFormat

以文本格式KV顺序读取流式文件

继承实现类

102

SequenceFileAsTextRecordReader

生成文件格式KV记录

继承实现类

103

SequenceFileInputFilter

读取流式文件的过滤条件设置

继承实现类

104

SequenceFileInputFormat

流式文件读取时的参数设置

继承实现类

105

SequenceFileOutputFormat

流式文件输出时的参数设置

继承实现类

106

SequenceFileRecordReader

流式文件MR记录的读取工具类实现

继承实现类

107

SkipBadRecords

跳过坏的记录类的工具实现

独立内存类

108

SortedRanges

指定范围形成排序的工具类

继承实现类

109

StatusHttpServer

生成各种状态图

继承实现类

110

Task

任务表的字段定义及设置方法实现类

独立内存类

111

TaskAttemptContext

任务上下文内存表定义及设置方法实现类

继承扩展子表实现类

112

TaskAttemptID

任务偿试ID定义类

继承扩展子表实现类

113

TaskCompletionEvent

任务完成事件表字段定义及设置类

继承实现类

114

TaskID

任务ID定义类

继承扩展子表实现类

115

TaskInProgress

在进程中的任务所有信息的内存表定义类

独立内存类

116

TaskLog

任务日志表定义及表记录生成实现类

独立内存类

117

TaskLogAppender

任务日志追加实现类

继承实现类

118

TaskLogServlet

任务日志文件的html页面生成

继承实现类

119

TaskMemoryManagerThread

任务内存管理线程实现类

继承实现类

120

TaskReport

任务报告表字段定义及设置类

继承实现类

121

TaskRunner

任务执行线程实现类

继承实现类

122

TaskScheduler

任务计划数据及方法定义类

抽象类

123

TaskStatus

任务状态表字段定义及设置方法类

继承实现类

124

TaskTracker

任务执行的各种方法实现类

继承实现类

125

TaskTrackerAction

任务跟踪的代理实现类

继承实现类

126

TaskTrackerInstrumentation

各类任务的状态信息访问方法集定义

独立内存类

127

TaskTrackerManager

任务跟踪管理者的职能工作定义

接口类

128

TaskTrackerMetricsInst

任务状态的度量值处理类

继承实现类

129

TaskTrackerStatus

任务跟踪器的状态表字段定义及存取类

继承实现类

130

TaskUmbilicalProtocol

任务与父类间方法定义

接口类

131

TextInputFormat

从文件切片内存中以字串的形式生成KV键值表

继承实现类

132

TextOutputFormat

以字串的形式输出KV键值表

继承实现类

133

JobInProgress_Counter.properties

作业次数概念的定义文件

 

134

Task_Counter.properties

任务次数概念的定义文件

 

135

Task_FileSystemCounter.properties

任务文件系统次数概念的定义文件

 

 

16.2         Mapred.jobcontrol包的分析(2个类)

序号

类名

作用

备注

1

Job

Job内存表的定义

独立内存类

2

JobControl

Job状态的全程监测类

继承实现类

 

 

16.3         Mapred.join包的分析(16个类)

序号

类名

作用

备注

1

ArrayListBackedIterator

用数组管理多模递归树

继承实现类

2

ComposableInputFormat

按照组合设定格式创建KV键值

继承实现类

3

ComposableRecordReader

组合格式KV创建与读写的方法接口定义

接口类

4

CompositeInputFormat

合成格式的KV键值的创建和读写实现

继承实现类

5

CompositeInputSplit

按照合成格式要求进行文件拆分

继承实现类

6

CompositeRecordReader

组合记录表的定义及记录管理

继承实现类

7

InnerJoinRecordReader

KV记录内存合成实现

继承实现类

8

JoinRecordReader

组合KV记录的创建与读取

继承实现类

9

MultiFilterRecordReader

多重过滤的KV记录读取

继承实现类

10

OuterJoinRecordReader

外部组合KV记录

继承实现类

11

OverrideRecordReader

KV记录重载读取

继承实现类

12

Parser

语法符号定义类

独立内存类

13

ResetableIterator

全状态递归集合的方法定义

接口类

14

StreamBackedIterator

字节流构成的递归集合

继承实现类

15

TupleWritable

序列化数据类的读写表定义及实现

继承实现类

16

WrappedRecordReader

有包装的KV记录的创建与加工处理

继承实现类

 

16.4         Mapred.lib包的分析(27个类)

序号

类名

作用

备注

1

Chain

组织MR的执行链集合类

独立内存类

2

ChainMapper

一个map任务多个执行活动组织

继承实现类

3

ChainReducer

一个reduce任务多个执行活动组织

继承实现类

4

DelegatingInputFormat

代理输入方式的处理类(切割策略和KV组织策略)

继承实现类

5

DelegatingMapper

Map任务的代理实现类

继承实现类

6

FieldSelectionMapReduce

内存字段的的MR实现类

继承实现类

7

HashPartitioner

Hash方式实现分类

继承实现类

8

IdentityMapper

KV不变输出到out中

继承实现类

9

IdentityReducer

KV不变输出到out中

继承实现类

10

InputSampler

输入的处理范例

继承实现类

11

InverseMapper

KV互换map实现

继承实现类

12

KeyFieldBasedComparator

按key字段进行比较

继承实现类

13

KeyFieldBasedPartitioner

按key字段进行v值的组合

继承实现类

14

KeyFieldHelper

Key字段的属性表定义与管理

独立内存类

15

LongSumReducer

长整型V值合加实现

继承实现类

16

MultipleInputs

多个输入路径的指定

独立内存类

17

MultipleOutputFormat

指定多种不同的文件输出方式

继承实现类

18

MultipleOutputs

输出值多种附加输出方式设定

独立内存类

19

MultipleSequenceFileOutputFormat

指定多种不同的流式文件输出方式

继承实现类

20

MultipleTextOutputFormat

指定多种不同的文本文件输出方式

继承实现类

21

MultithreadedMapRunner

多线程并发的MAP任务管理器

继承实现类

22

NLineInputFormat

指定N行V值读取方式

继承实现类

23

NullOutputFormat

空输出KV值

继承实现类

24

RegexMapper

带正则式的KV值处理

继承实现类

25

TaggedInputSplit

带标签的输入切分方式指定

继承实现类

26

TokenCountMapper

带缺省分隔符的KV生成类

继承实现类

27

TotalOrderPartitioner

分割后的文件排序

继承实现类

 

16.5         Mapred.lib.aggregate包的分析(17个类)

序号

类名

作用

备注

1

DoubleValueSum

计算浮点数的总和

独立内存类

2

LongValueMax

长整数中的最大值

独立内存类

3

LongValueMin

长整数中的最小值

独立内存类

4

LongValueSum

计算长整数的总和

独立内存类

5

StringValueMax

字串中最长的

独立内存类

6

StringValueMin

字串中最短的

独立内存类

7

UniqValueCount

消除重复值

独立内存类

8

UserDefinedValueAggregatorDescriptor

用户指定的一个聚合的格式表

继承实现类

9

ValueAggregator

聚合操作方法定义

接口类

10

ValueAggregatorBaseDescriptor

值聚合的总体介绍(有多少种),代理类

继承实现类

11

ValueAggregatorCombiner

聚合类的组合输出

继承实现类

12

ValueAggregatorDescriptor

描述接口方法定义

接口类

13

ValueAggregatorJob

聚合任务主类

独立内存类

14

ValueAggregatorJobBase

聚合的MR的公共数据基类

继承实现类

15

ValueAggregatorMapper

聚合的KV值生成算法

继承实现类

16

ValueAggregatorReducer

聚合的KV值聚类算法

继承实现类

17

ValueHistogram

计算字串的柱状图

继承实现类

 

 

16.6         Mapred.lib.db包的分析(4个类)

序号

类名

作用

备注

1

DBConfiguration

数据库访问参数逻辑标识符定义类及数据库访问操作

独立内存类

2

DBInputFormat

数据库表读取表名和字段名及查询条件设定与操作

继承实现类

3

DBOutputFormat

输出到指定的表中

继承实现类

4

DBWritable

数据库类的读写方法定义

接口类

 

16.7         Mapred.pipes包的分析(10个类)

序号

类名

作用

备注

1

Application

任务执行的进程启动管理类,启动相应任务

独立内存类

2

BinaryProtocol

二进制读取通讯实现类,调用MR相应的类

继承实现类

3

DownwardProtocol

进程中任务的时序方法定义

接口类

4

OutputHandler

输出的响应处类实现

继承实现类

5

PipesMapRunner

接收管道信息进行KV数组生成

继承实现类

6

PipesNonJavaInputFormat

从管道中设定KV的组成方式

继承实现类

7

PipesPartitioner

管道KV的分类整理

继承实现类

8

PipesReducer

管道KV的归类整理输出

 

9

Submitter

管道方式作业的执行策略代理类

继承实现类

10

UpwardProtocol

同步管道进程间信息传递处理方法

接口类




(责任编辑:IT)