文档章节

Hadoop中的序列化和基于文件的存储结构(9)

肖鋭
 肖鋭
发布于 2014/03/02 21:27
字数 394
阅读 206
收藏 0

        序列化概念

                    序列化(Serialization):是指把结构化对象转化为字节流。

                    反序列化(Deserialization):是序列化的逆过程,即把字节流转回结构化对象。

                    Java序列化:(java.io.Serializable)

        Hadoop序列化

                    序列化格式特点:

                                            1、紧凑:高效使用存储空间。

                                            2、快速:读写数据的额外开销小。

                                            3、可扩展:可透明地读取老格式的数据。

                                            4、互操作:支持多语言的交互。

                      Hadoop想要实现序列化就必须要实现Writable接口。

        Writable接口

                        Writable接口是根据DataInput和DataOutput实现的简单、有效的序列化对象。

                        MapReduce的任意Key必须实现WritableComparable接口。

                        MapReduce的任意Key和Value必须实现Writable接口。

        常用的Writable实现类

                

        Hadoop序列化的作用:

                            序列化在分布式环境的两大作用:进程间通信,永久存储。

        Hadoop节点间通信:

                            


Hadoop中基于文件的存储结构

                    1、SequenceFile无序存储。

                    2、MapFile会对Key建立索引文件,Value按Key顺序存储。

                            a)基于MapFile的结构有:

                                                                    1、ArrayFile:像我们使用的数组一样,Key值为序列化的数字。

                                                                    2、SetFile:只有Key,Value为不可变的数。

                                                                    3、BloomMapFile:在MapFile的基础上增加了一个/bloom文件,包含的是

二进制的过滤表,在每一次写操作完成时,会更新这个过滤表。


                                                                                                                        Name:Xr

                                                                                                                        Date:2014-03-02 21:28

© 著作权归作者所有

下一篇: RPC(8)
肖鋭
粉丝 10
博文 62
码字总数 29531
作品 0
朝阳
程序员
私信 提问
基于 Hive 的文件格式:RCFile 简介及其应用

Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度为优势。不过,MPP数据库社区也一直批评Hadoop由于文件格式并非为特定目的而建,因此序列化和反序...

大数据之路
2014/06/18
2.9K
1
Hive体系结构

1、Hive架构与基本组成 下面是Hive的架构图。 图1.1 Hive体系结构 Hive的体系结构可以分为以下几部分: (1)用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是CLI,Cli启动的时候,会...

清清浅浅
2016/11/28
70
0
SequenceFile介绍(转)

理解点: 1、二进制数据格式,在hadoop上进行mr任务时使用,一般是中间过程mr的输入输出数据 2、有一定的格式:头部+内容。头部标示SEQ 3、可通过read读取, ${JAVAHOME}/bin/java -cp ${HAD...

Zero零_度
2016/07/06
64
0
【Hadoop】学习前提

前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。它大数据分布式计算的典型代表。本博客参考了大量博客后总结出来的,如有不正,请多指教。 Hadoop这个名词还是在实习的时候听同...

mengdonghui123456
2016/11/05
0
0
关于Spark的基本概念和特性简介

1、Spark是什么? ○ 高可伸缩性 ○ 高容错 ○ 基于内存计算 2、Spark的生态体系(BDAS,中文:伯利克分析栈) ○ MapReduce属于Hadoop生态体系之一,Spark则属于BDAS生态体系之一 ○ Hadoop...

openthings
2015/06/25
6.3K
0

没有更多内容

加载失败,请刷新页面

加载更多

spring-boot-maven-plugin not found的解决方案。

通过IDE创建一个springboot项目, <plugin> <groupId>org.springframework.boot</groupId>//这行红色 <artifactId>spring-boot-maven-plugin</artifactId>//这行红色</plugin> 提示sprin......

一片云里的天空
今天
52
0
OSChina 周三乱弹 —— 我可能是个憨憨

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @宇辰OSC :分享Hare Je的单曲《Alan Walker-Faded(Hare Je remix)》: #今日歌曲推荐# 可以放松大脑的一首纯音乐 《Alan Walker-Faded(Har...

小小编辑
今天
99
0
搞定SpringBoot多数据源(3):参数化变更源

春节将至,今天放假了,在此祝小伙伴们新春大吉,身体健康,思路清晰,永远无BUG! 一句话概括:参数化变更源意思是根据参数动态添加数据源以及切换数据源,解决不确定数据源的问题。 1. 引言...

mason技术记录
昨天
99
0
sql 基础知识

sql 基础知识 不要极至最求一条sql语句搞定一切,可合理拆分为多条语句 1. sql 变量定义与赋值 Sql 语句中,直接在SELECT使用@定义一个变量,如:[@a](https://my.oschina.net/a8856225a)。 ...

DrChenXX
昨天
57
0
MacOSX 安装 TensorFlow

TensorFlow是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的。 准备 安装 Anaconda TensorFlow 安装的...

叉叉敌
昨天
79
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部