笔记:Hadoop权威指南 第4章 Hadoop I/O

本文介绍了HDFS如何通过校验和确保数据完整性,并探讨了压缩技术在减少存储空间及加速数据传输方面的作用。此外,还讲解了序列化的应用及其在远程通信与持久存储中的重要性,以及几种常用的数据文件结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、HDFS数据完整性保证

1、DataNode在读取和写入的时候验校验和

2、后台线程DataBlockScanner 也会检查校验和

3、若检查到检验和错误,则报告namenode,自动进行删除、复制、恢复操作。


二、压缩

1、好处:减少存储的磁盘空间;加速数据在网络和磁盘上的传输。

2、支持切分的压缩bzip2 (LZO不支持)

3、Map任务中进行压缩,可以减少数据量,提升性能。


三、序列化

1、序列化用途:远程通信、持久存储。

2、Writable接口:实现 write (DataOutput out), readFields(DataInput in) 方法。

3、WriteComparable 接口:

4、Writable 类:IntWritable、VintWritable、LongWritable、VlongWritable、FloatWritable、DoubleWritable、BooleanWritable、Text、BytesWritable、NullWritable、ObjectWritable

5、Writable集合:ArrayWritable、TwoDArrayWritable、MapWritableSortedMapWritable


四、基于文件的数据结构

1、SequenceFile

用途:(1)、记录二进制类型;(2)、将小文件包装起来,获得更高效率的存储和处理。


2、MapFile

MapFile 就是已经排序的SequenceFile,加入了用于搜索键的索引。



转载于:https://www.cnblogs.com/leeeee/p/7276214.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值