ZooKeeper源码分析-Jute-第二部分
2017-06-24 10:44
239 查看
数据类型和流
本部分描述支持Hadoop的基础数据类型以及复合类型。我们的目的是支持一系列的类型,可以用于在不同的编程语言中简化和有效表达一定范围的记录类型.
基础类型
大部分情况下,Hadoop的大部分基础类型直接映射到高级编程语言的基础类型。特殊的例子是ustring(Unicode字符串)以及buffer类型,我们相信它能被广泛使用,并且通常在库代码中实现,而不是做为语言内置程序使用。当目标语言没有内置实现且没有广泛应用的标准实现时,Hadoop能通过库代码来支持他们。基础数据类型的完整列表有如下:
byte、boolean、int、long、float、double、ustring、buffer
组合类型
Haddop支持小部分组合类型,用于描述简单的聚合类型和容器。一个组合类型被序列化的方式通常是序列化它的组成元素。组合类型包含以下几个类型:
1)Record:类似C结构体的聚合类型。它由一系列的类型字段组合被认为是一个单一的数据类型。一个Record通过序列化它的组成字段而被序列化。除了序列化以外,Record还有一个 comparison对比函数,该函数被定义成对成员逐一比较的函数。
2)vector:一系列的同样数据类型的集合,可以是基础类型也可以是组合类型。
3)map:一个关联容器,将键类型的实例映射到值类型的实例上。
流
Hadoop通过自动生成代码序列化和反序列化Record类型,把它转换成抽象流。针对每个目标语言Haddop定义了非常简单的输入输出流接口,应用程序开发人员可以通过封装具体的流实现方法来开发这些接口的具体实例。
本部分描述支持Hadoop的基础数据类型以及复合类型。我们的目的是支持一系列的类型,可以用于在不同的编程语言中简化和有效表达一定范围的记录类型.
基础类型
大部分情况下,Hadoop的大部分基础类型直接映射到高级编程语言的基础类型。特殊的例子是ustring(Unicode字符串)以及buffer类型,我们相信它能被广泛使用,并且通常在库代码中实现,而不是做为语言内置程序使用。当目标语言没有内置实现且没有广泛应用的标准实现时,Hadoop能通过库代码来支持他们。基础数据类型的完整列表有如下:
byte、boolean、int、long、float、double、ustring、buffer
组合类型
Haddop支持小部分组合类型,用于描述简单的聚合类型和容器。一个组合类型被序列化的方式通常是序列化它的组成元素。组合类型包含以下几个类型:
1)Record:类似C结构体的聚合类型。它由一系列的类型字段组合被认为是一个单一的数据类型。一个Record通过序列化它的组成字段而被序列化。除了序列化以外,Record还有一个 comparison对比函数,该函数被定义成对成员逐一比较的函数。
2)vector:一系列的同样数据类型的集合,可以是基础类型也可以是组合类型。
3)map:一个关联容器,将键类型的实例映射到值类型的实例上。
流
Hadoop通过自动生成代码序列化和反序列化Record类型,把它转换成抽象流。针对每个目标语言Haddop定义了非常简单的输入输出流接口,应用程序开发人员可以通过封装具体的流实现方法来开发这些接口的具体实例。
相关文章推荐
- ZooKeeper源码分析-Jute-第一部分
- Android Handler消息机制源码分析——第二部分: Message与Handler
- hadoop日志分析系统二 第二部分利用hadoop平台进行数据处理 第三种方式 hive+sqoop+zookeeper方式
- [置顶] 【Apollo源码分析】系列的第二部分【perception】
- uboot学习笔记(三)启动源码分析之第二阶段(c语言部分)
- hadoop日志分析系统二 第二部分利用hadoop平台进行数据处理 第三种方式 hive+sqoop+zookeeper方式
- [置顶] 16 -总结-【cartographer源码分析】系列的第二部分【transform源码分析】
- 《Java 源码分析》:Java NIO 之 Selector(第二部分selector.select())
- EasyJWeb-0.1.0部分源码分析
- 第二人生的源码分析(4)Log调试功能的实现
- 第二人生的源码分析(8)登录状态界面显示
- 第二人生的源码分析(7)应用程序实例类
- EasyJWeb-0.1.0部分源码分析
- 第二人生的源码分析(8)登录状态界面显示
- 第二人生的源码分析(4)Log调试功能的实现
- 第二人生的源码分析(3)程序入口点
- 第二人生的源码分析(6)类CallSite的实现
- 第二人生的源码分析(2)第二人生的基本功能
- EasyJWeb-0.1.0部分源码分析
- EasyJWeb-0.1.0部分源码分析