Hadoop图像压缩
2015-10-11 16:18
281 查看
Hadoop图像解压缩
Hadoop云平台可以完成 对海量图像数据的处理,其主要考虑到压缩速度和压缩图像的可分割性。压缩算法主要从时间和速度上进行权衡,更快的压缩和解压缩速度会占用更多的存储空间。Hadoop实现对文件的压缩主要先考虑到文件的可分割性,其次,利用mapduce并行算法实现对文件并行压缩。
压缩文件的可分割性,例如我们在对HDFS中640M的文本文件进行处理,当前的HDFS数据块的大小为64M时,该文件被分为10块,对应的Mapreduce作业将文件分成10个输入分片,提供10个独立的map任务进行处理。同样在对压缩文件进行分片时,要考虑到Hadoop是否支持对压缩文件的可分割。例如如果该文件是一个gzip的格式的压缩文件(其大小不变),不能进行分割,因为Hadoop不能从gzip的数据流中的某个点开始进行数据的解压,如果是一个zip类型的文件,即可实现对文件的解压,因为Hadoop支持zip压缩文件的分割。
Hadoop为支持文件分割引入了编码/解码器在 Hadoop的实现中,数据编码器和解码器被抽象成了两个接口:org.apache.hadoop.io.compress.Compressor、org.apache.hadoop.io.compress.Decompressor,所以在Hadoop内部的编码/解码算法实现都需要实现对应的接口。在实际的数据压缩与解压缩过程,Hadoop为用户提供了统一的I/O流处理模式,其过程如下:
从图示中可以看到整个过程分为三部分:
(1).客户端上传大量的数据,通过编码器实现数据的压缩处理;
(2).数据压缩处理后,将压缩的数据上传到HDFS中,进行持久化存储。(注:HDFS中存储一些长时间保存的数据,例如日志文件,海量医学图像数据等)
(3).当客户端检索数据时,同样经过编码器实现对压缩文件的解压缩处理,得到最终的数据信息。
相关文章推荐
- Linux进程间通信(三) - 信号
- keepAlived应用于HaProxy的主备自动切换实现高可用,避免单点故障
- 静态页面统计网站访客量
- 开始hadoop
- opencv常用函数
- mac里用终端ssh远程连接centos服务器
- linux设备驱动之I2C
- 【Linux】vim中高频使用指令总结--->使vim用起来更加得心应手
- OpenCV—利用回调函数实现返回鼠标点击位置的坐标和灰度值
- Centos6.5安装Cloudstack 4配置图文教程
- 系统启动的原理
- Informatica在linux下安装搭建
- linux平台apache启动、关闭、重启的几种方式
- 解决centos yum源配置出现Couldn't resolve host 问题
- [Linux学习]安装花生壳(公网版)
- 软件架构风格介绍
- linux平台下apache的源码安装和将apache服务配置成系统服务
- Linux文本匹配命令grep&find&cat(zcat)(持续更新中)
- 配置apache的反向代理
- tomcat相关和安装