Hive 存储格式详解
创始人
2025-05-28 12:47:20

存储格式

Hive支持的存储数的格式主要有:TEXTFILE(行式存储) 、SEQUENCEFILE(行式存储)、ORC(列式存储)、PARQUET(列式存储)。

1 行式存储和列式存储

在这里插入图片描述

行存储的特点: 查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。
列存储的特点: 因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量;每个字段的数据类型一定是相同的,列式存储可以针对性的设计更好的设计压缩算法。

相比于行式存储,列式存储在分析场景下有着许多优良的特性:

1)分析场景中往往需要读大量行但是少数几个列。在行存模式下,数据按行连续存储,所有列的数据都存储在一个block中,不参与计算的列在IO时也要全部读出,读取操作被严重放大。而列存模式下,只需要读取参与计算的列即可,极大的减低了IO开销,加速了查询。
2)同一列中的数据属于同一类型,压缩效果显著。列存储往往有着高达十倍甚至更高的压缩比,节省了大量的存储空间,降低了存储成本。
3)更高的压缩比意味着更小的数据空间,从磁盘中读取相应数据耗时更短。
4)自由的压缩算法选择。不同列的数据具有不同的数据类型,适用的压缩算法也就不尽相同。可以针对不同列类型,选择最合适的压缩算法。

2 主流文件存储格式对比实验

从存储文件的压缩比和查询速度两个角度对比。存储文件的压缩比测试:

2.1 TextFile

create table log_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 ;load data local inpath '/usr/local/rosh/data/log.data' into table log_text ;hadoop fs  -du -h  /hive/warehouse/log_text;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9CxgJxnW-1678873424767)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f2782bd8-49be-43ca-9139-80991b18dbfe/Untitled.png)]

2.2 ORC

create table log_orc(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 orc ;insert into table log_orc select * from log_text;hadoop fs  -du -h  /hive/warehouse/log_orc;

在这里插入图片描述

2.3 Parquet

create table log_parquet(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 PARQUET ;insert into table log_parquet select * from log_text;hadoop fs  -du -h  /hive/warehouse/log_parquet;

在这里插入图片描述

2.4 结论

存储文件的压缩比总结:ORC > Parquet > textFile

3 压缩

ORC的压缩方式:

KeyDefaultNotes
orc.compress(OCR默认压缩方式)ZLIBhigh level compression (one of NONE, ZLIB, SNAPPY)
orc.compress.size262,144number of bytes in each compression chunk
orc.stripe.size67,108,864number of bytes in each stripe
orc.row.index.stride10,000number of rows between index entries (must be >= 1000)
orc.create.indextruewhether to create row indexes
orc.bloom.filter.columns“”comma separated list of column names for which bloom filter should be created
orc.bloom.filter.fpp0.05false positive probability for bloom filter (must >0.0 and <1.0)

3.1 不使用压缩方式

create table log_orc_none(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 orc tblproperties ("orc.compress"="NONE");insert into table log_orc_none select * from log_text ;hadoop fs  -du -h  /hive/warehouse/log_orc_none;

在这里插入图片描述

3.2 采用SNAPPY

create table log_orc_snappy(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 orc tblproperties ("orc.compress"="SNAPPY");insert into table log_orc_snappy select * from log_text ;hadoop fs  -du -h  /hive/warehouse/log_orc_snappy ;

在这里插入图片描述

相关内容

热门资讯

“Script“ 标签 1. “Script” 标签 可以使用 script 标签将任何 js 代码嵌入到 html 中 当...
特朗普关税被法院叫停,风险资产... 蒋立冬 派生万物AI 图特朗普关税“被叫停”后,亚洲股市应声走高。截至5月29日收盘,日经225指数...
图神经网络之CNN与GCN的联... 一、CNN(Convolutional Neural Network)卷...
DJ2-2 Web应用和HTT... 目录 1. Web 和 HTTP 常用术语 2. HTTP 概述 3. TCP 和 HTTP 4. ...
nginx-http-1 HTTP介绍 HTTP协议是Hyper Text Transfer Protocol(...
V观财报|“四连板”均瑶健康:...   中新经纬5月29日电 29日,均瑶健康再发股票交易异常波动公告。  公告显示,均瑶健康于5月28...
OceanMind海睿思受邀参... 近日,由江苏省工业和信息化厅、宜兴市人民政府指导,宜兴市工业和信息化局、...
SpringBoot Rabb... SpringCloud 大型系列课程正在制作中,欢迎大家关注与提意见。 程序员每天的C...
为了赶走烂物业,我被举报到纪委... 我本是为了维护自身权益,试图赶走那令人不满的烂物业。然而,未曾想此举竟让我陷入了意想不到的境地。不知...
*ST围海:签订1.82亿元重... 新京报贝壳财经讯 5月29日,*ST围海公告,公司与文成县水利发展有限公司签署了“文成县城防洪提升工...
宇树回应更名“股份有限公司” ... 5月29日,有消息称,宇树科技向合作伙伴发布通知称,因公司发展需要,杭州宇树科技有限公司即日起名称变...
美股七巨头交出超预期一季报:提... 围绕关税和AI(人工智能)两大话题,美股科技“七巨头”发布了基本超出预期的一季报。近日,美股科技“七...
LuaJIT 常量数组(con... 从LuaJIT Bytecode介绍中可知道,Bytecode关于常量操作的指令均为D...
js 数组中的对象去掉重复的对...  id相同的,保留第一个,其它的删除this.defaultFileLi...
许昌,几线城市?请看2025年... 第一财经·新一线城市研究所 5月28日发布 《2025新一线城市魅力排行榜》 在中国内地337座地级...
拼多多股价波动:牺牲短期业绩,... 5月27日晚,拼多多最新一季度财报发布,营收约957亿人民币,同比增长10%,已经是最近几个季度的最...
额度放开了,再选一遍美债基金~ 转自:懒猫的丰收日 最近,好多美债基金放开了额度, 也有不少小伙伴问美债基金,那就再筛一遍,大概是这...
广州农商银行:唤醒农村沉睡资源... 随着乡村振兴战略的深入实施,农村“三块地”——耕地、宅基地和集体经营性建设用地的改革与盘活,正在成为...
中国艾欧智能团队远程操控机器人... 在2025年度ICRA双臂机器人能力边界挑战赛上,深圳艾欧智能公司凭借其卓越表现,从全球88支参赛队...
同仁堂资本新局 拆分上市在下什... 暌违十多年的资本运作。 《投资者网》蔡俊 暌违十多年,同仁堂(600085.SH,下称“公司”)...
集中上市!增量资金来了 增量资金持续驰援市场,新发ETF密集上市。5月以来,23只ETF上市,9只ETF即将上市,这些ETF...
3.类型、存储和变量 目录 3.1 C#程序是一组类型声明  3.2 类型是一种模板  3.3 实例化类型  3.4 数...
圆通速递今日大宗交易折价成交7... 5月29日,圆通速递大宗交易成交795万股,成交额1.01亿元,占当日总成交额的15.22%,成交价...
最新!宇树科技改名了 证券时报消息,5月29日,宇树科技向合作伙伴发布通知称,因公司发展需要,杭州宇树科技有限公司即日起名...
持续改进与回归 系列文章目录 第一章 敏捷核心知识点 第二章 敏捷宣言与原则 第三章 价值驱动交付-优先级排序&增量...
ST先锋:6月3日起撤销其他风... 5月29日晚间,宁波先锋新材料股份有限公司(ST先锋,300163.SZ)公告,公司股票将于5月30...
双指针 -876. 链表的中间... 开始一个专栏,写自己的博客 双指针,也算是作为自己的笔记吧!...
100%原价买飞天茅台!茅台机... 红星资本局5月29日消息,遵义茅台机场官微发布消息,5月30日-6月30日期间,茅台机场开启2个乘机...
restTemplate未设置... 背景 昨天发版遇到个线上问题,由于运维操作放量时隔离机器过多,导致只有大...
第一批痴迷中古的年轻人,已经袪... 第一批痴迷中古的年轻人,曾如朝圣般追寻那些古老的物件与文化。他们沉浸在中古的世界里,仿佛找到了心灵的...