设为首页 加入收藏

TOP

Hive(五):常见存储格式的性能测试、比较
2019-04-07 12:21:03 】 浏览:105
Tags:Hive 常见 存储 格式 性能 测试 比较
  1. 测试方法
  • 以下是测试textFile存储的Demo,其它存储的测试方法参照既可以
create table page_views_text(
track_time string,
url string,
session_id string,
referer string,
ip string,
end_user_id string,
city_id string
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' 
stored as textFile;

insert overwrite table page_views_text select * from page_views;
  1. 比较
  • 测试数据比较
存储格式 原文件大小 当前存储格式下文件大小 存储耗时
textFile(默认) 18.1M 18.1M 19015089
parquet 18.1M 13.1M 13721063
RCFile 18.1M 17.9 M 18799676
ORC(默认内置压缩ZLIB) 18.1M 2.8 M 2914107
ORC(去掉内置默认压缩) 18.1M 7.7 M 8101648
AVRO 18.1M 18.9 M 19777791
SequenceFile 18.1M 18.9M 19777807
  • 总结比较
存储格式 特点 存储比较 压缩比较 查询比较
textFile 行式存储 hive表中默认的存储格式,存储的字段类型默认全是string 支持压缩 查询速度慢
SEQUENCEFILE 行式存储 比textFile多了头部、标识、信息长度等信息 存储比textFile大;支持压缩,但是压缩的是value
RCFile 行列混合 先在水平上划分多个group,然后然后每个group内部再以列存储 支持压缩,压缩10%左右 查询快
ORC 行列混合 在RCFile基础上优化;在水平上划分为多个strips,每个strip由:Index Data(包含每一列的最大值和最小值以及每一列中的行位置),Row Data(用于表扫描),strip footer(包含流位置的目录) 存储是textFiled的40%,使用压缩10% 查询快
  1. 行式存储和列式存储
  • 行式存储
    在这里插入图片描述
  • 列式存储
    在这里插入图片描述
  • RCFile
    在这里插入图片描述
  • ORC
    在这里插入图片描述
存储方法 存储特点 压缩比较 查询比较
行式存储 一个快存储一列或者多列数据 , 按照行压缩,由于一行中有多个字段,而且字段类型有可能不一样,所有压缩性能差 查询一张表中的某几个字段,由于是行式存储而进行全表扫描,查询慢,
列式存储 在HDFS上一个block存储一列或多列 必然按列压缩,每一列对应的相同的数据格式,所以压缩性能好 查询一张表中的某几个字段,由于是列式存储不需要全表扫描,查询快如果是select  * from table 这种反之慢,因为列式存储查询出结果还要组装数据
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇编译工具中的 HDFS远程连接配置 下一篇三十六、HDFS的写数据流程及网络..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目