hive文件存储格式

Hive文件存储格式的测试比较  api

http://yugouai.iteye.com/blog/1851606oop

1.textfile
textfile为默认格式
存储方式:行存储
磁盘开销大 数据解析开销大
压缩的text文件 hive没法进行合并和拆分性能

2.sequencefile
二进制文件,以<key,value>的形式序列化到文件中
存储方式:行存储
可分割 压缩
通常选择block压缩
优点是文件和hadoop api中的mapfile是相互兼容的。测试

3.rcfile
存储方式:数据按行分块 每块按照列存储
压缩快 快速列存取
读记录尽可能涉及到的block最少
读取须要的列只须要读取每一个row group 的头部定义。
读取全量数据的操做 性能可能比sequencefile没有明显的优点spa

4.orcorm

存储方式:数据按行分块 每块按照列存储blog

压缩快 快速列存取hadoop

效率比rcfile高,是rcfile的改良版本input


5.自定义格式
用户能够经过实现inputformat和 outputformat来自定义输入输出格式。it

总结:
textfile 存储空间消耗比较大,而且压缩的text 没法分割和合并 查询的效率最低,能够直接存储,加载数据的速度最高
sequencefile 存储空间消耗最大,压缩的文件能够分割和合并 查询效率高,须要经过text文件转化来加载
rcfile 存储空间最小,查询的效率最高 ,须要经过text文件转化来加载,加载的速度最低

 我的建议:text,seqfile能不用就尽可能不要用  最好是选择orc

相关文章
相关标签/搜索