课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据压缩是程序员在学习计算机编程开发过程中会接触到的一个概念,而今天我们就通过案例分析来了解一下,数据压缩基本原则与注意事项。
Cloudera提出过数据压缩的基本准则:
是否压缩数据以及使用何种压缩格式对性能具有重要的影响。
需要平衡压缩和解压缩数据所需的能力、读写数据所需的磁盘IO,以及在网络中发送数据所需的网络带宽。
此外,用到哪些压缩格式,为什么使用这些压缩格式而不是其他的压缩格式?主要考虑到:
文件和压缩算法的组合是否支持可分片,MapReduce在读取数据的时候需要并行,这就要求压缩后的文件可以分片读取。
io读取性能,读取相同信息量的信息,压缩后的文件不仅占用的存储空间低,而且还会提高磁盘io的读取效率。提高程序的运行速度
CPU资源也是启用何种压缩算法不得不考虑的因素,一般来说压缩效率越高的算法对io效率和存储利用率的提升越有促进作用,但另一方面也会更高的消耗CPU资源。所以我们需要在这中间寻求一个平衡点。
共通性,文件格式是否支持多种语言,服务的读取。比如Hadoop主要的序列化格式为Writables,但是Writables只支持Java,所以后面衍生出了Avro,Thrift等格式。还如OrcFile是对Hive设计的一种列式存储格式,但是他不支持Impala,数据的共用性受到了制约。
错误处理能力,有的文件的某一部分坏掉之后会影响整个表,有的只会影响其后的数据,有的只会影响坏掉数据块本身(Avro)。
读取和载入效率,RCFile的载入速度慢,但是查询相应速度快,相对更适合数据仓库一次插入多次读取的特性。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。