浅谈hive中数据的几种压缩方式

「Hive进阶篇」详解存储格式及压缩方式 hive优化除了有hql语句逻辑优化,hql参数调优等等,还有一个不起眼的细节容易被忽视掉,那便是hive数仓模型表的存储格式和压缩方式 阅读详情
hive库中有个表,表名叫做user_info_base表创表的命令是:
create table user_info_base(
    id string,
    name string,
    age string
)row format delimited fields terminated by '\t' LINES TERMINATED BY '\n'
  stored as textfile;


现对user_info_base表中数据进行压缩,具体压缩方式分以下两种:

1,数据压缩成TXTfile:
#创建临时用中间表,表结构和源表相同
create table user_info_base_txtfile like user_info_base;
#hive中开启压缩模式
set hive.exec.compress.output=true;  
set mapred.output.compress=true;  
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;    -----注可修改压缩格式Gzip,可自己百度搜索
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;      
#向临时表中插入数据
insert into table user_info_base_txtfile select * from user_info_base;
#查看两个表大小对比
hadoop fs -dus -h /user/hive/warehouse/user_info_base*
#删除源表
drop table  user_info_base;
#修改表名
alter table user_info_base_txtfile rename to user_info_base;

2,数据压缩成rcfile:
#创建临时用中间表,重新编写创表语句:
create table user_info_base_rcfile(
id string,
name string,
age string
)row format delimited
fields terminated by '\t' stored as RCFILE;
#hive中开启压缩模式
set hive.exec.compress.output=true;  
set mapred.output.compress=true;  
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;    -----注可修改压缩格式Gzip,可自己百度搜索
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;  
#向临时表中插入数据
insert into table user_info_base_rcfile select * from user_info_base;
#查看两个表大小对比
hadoop fs -dus -h /user/hive/warehouse/user_info_base*
#删除源表
drop table  user_info_base;
#修改表名
alter table user_info_base_txtfile rename to user_info_base;


经实测,压缩比例一般能达到80%,即100G的txt文件能压缩至20G


两种压缩存储的对比:
txtfile:数据查询时间慢,数据压缩较快,入库快,可数据可直接入库
rcfile:数据查询效率快,数据压缩较慢,数据无法直接入库,由txtfile加载而来。

注:数据压缩后的表进行数据查询会比普通的表消耗较多cpu,但减少各主机IO压力。
注:还有种压缩方式为sequencefile,功能和rcfile差不多,但效果没rcfile好。





浅谈Hive如何调优 从读懂Hive执行计划开始优化Hive语句 一、什么是Hive执行计划 Hive执行计划官方解释在哪?如下连接是Hive官网的Wiki地址 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Explain 阅读详情

相关推荐

48V电动车电池包拆解:硬核入门BMS硬件设计与故障排查

BMS(电池管理系统)是锂电应用的核心安全与性能保障模块,其本质是融合电化学、模拟电路、嵌入式控制与热管理的交叉系统。理解BMS不能止步于SOC算法或通信协议,而需回归硬件本体——从电压采样精度、MOSFET驱动时序、被动均衡散热设计到NTC热耦合布局,每一处物理实现都直接决定系统可靠性。48V平台因兼具安全性(<60V ELV)、复杂度(13–14串)与产业普及性,成为BMS工程实践的理想标本。本文聚焦真实电池包中的PCB级设计缺陷识别、关键参数现场验证(如±5mV采样误差、5mΩ导通内阻)、UART协议

weixin_29191081的博客 238

RCFile怎么搞压缩..

先修改配置,可以在~/.hiverc下加下: SET hive.exec.compress.output=true; SET mapred.output.compress=true; SET mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec; 要把开关打开,设置好压缩的格式,再inset sele...

海阔天空的专栏(web前端+LAMP) 299

centos7 清理缓存

一、系统环境 系统版本 CentOS Linux release 7.3.1611 (Core) 内核版本 Linux xx-user 3.10.0-514.el7.x86_64 #1 SMP 背景 服务器分配的账号是普通用户,只能执行sudo命令 二、缓存查看及基本概念 查看内存使用情况 [user01@xx-user ~]$ free -h total used free shared buff/cache availabl

sunzq55的博客 4007

关于hive当中表的存储和压缩方式总结

这几天研究hive表的存储方式和压缩模式。在这里做一个简单的总结 hive表的存储 样例 : 我的表:rp_person_house_loan_info 数据总量:1933776 textfile: (1)hive数据表的默认格式,存储方式:行存储 。 (2)可使用Gzip,Bzip2等压缩算法压缩,压缩后的文件不支持split 上面的数据存储格...

xiaoxiaohacker的专栏 1004

操作系统期末大题类型题解

额,OS主要这回考程序分析题,PV操作、生产者消费者啊,哲学家进餐问题,死锁问题啊,如何避免死锁,经典银行家算法,页面置换算法啥的,磁盘调度......总计还有很多,就不一一说了 PV操作 谈到PV操作,首先要了解什么是信号量,其实就是用来解决互斥与同步问题的,分为原语wait(S)和signal(S),也就是我们常说的PV操作,在这里给出王道上的概念 wait(S){ while(S>0) S=S-1; } signal(S){ S=S+1; } 记录型信号量

ZXxxiaoxuan的博客 795

【3D目标检测】MMdetection3d——搭建IS-Fusion环境+nuScenes数据集训练

搭建IS-Fusion环境+nuScenes数据集训练

qq_44703886的博客 2324

Hive的压缩格式和数据存储格式

所以最终建议,在工作中选择ORC+Snappy。 但是有时候在选择数据存储格式的时候还需要考虑它的兼容度,是否支持多种计算引擎。 假设我希望这一份数据,既可以在Hive中使用,还希望在Impala中使用,这个时候就需要重点考虑这个数据格式是否能满足多平台同时使用。 Impala很早就开始支持Parquet数据格式了,但是不支持ORC数据格式,不过从Impala 3.x版本开始也支持ORC了。 如果你们使用的是Impala2.x版本,还想要支持Hive和Impala查询同一份数据,这个时候就需要选择Par

m0_46503302的博客 1339

从零构建:毫米波雷达生命信号检测系统的Matlab仿真全流程解析

本文详细解析了毫米波雷达生命信号检测系统的Matlab仿真全流程,涵盖原理、信号处理链路设计及算法优化策略。通过FMCW雷达技术,实现非接触式呼吸心跳信号检测,结合Matlab代码示例展示距离FFT、相位提取与信号分离等关键步骤,为医疗监护和智能家居应用提供实用指南。

weixin_29303701的博客 357

Hive数据压缩笔记

Hive数据压缩 本文介绍Hadoop系统中Hive数据压缩方案的比较结果及具体压缩方法。 一、压缩方案比较 关于Hadoop HDFS文件的压缩格式选择,我们通过多个真实的Track数据做测试,得出结论如下: 1.  系统的默认压缩编码方式 DefaultCodec 无论在压缩性能上还是压缩比上,都优于GZIP 压缩编码。这一点与网上的一些观点不大一致,网上不少人认为GZIP的压缩比要高

cnbird's blog 1万+

【DICOM后处理】qt+vs 实现DICOM数据四视图显示

方法用于 设置 2D 视图的“向上”方向,即定义图像在屏幕坐标系中的朝向。该方法直接影响影像的显示方向,尤其在多平面重建(MPR)或非标准切面显示时至关重要。:方法用于 设置渲染窗口在屏幕上的显示位置(以像素为单位)。它控制的是 VTK 渲染窗口的左上角在屏幕坐标系中的坐标位置。DICOM四视图通常指同时显示医学影像的四个不同平面或视角,用于全面分析三维数据(如CT、MRI等)。:基于 标量值 设置不透明度(控制不同组织的显示),显示骨骼or显示高密度流体等。默认朝向原点 (0, 0, 0)

weixin_41804847的博客 1326

ollama接入图像识别大模型

ollama接入图像识别大模型

qq_36437991的博客 2075

HIVE 优化浅谈

HIVE 优化浅谈 hive不怕数据量大,导致运行慢的主要原因是数据倾斜。hive的运行机制这里就不再赘述,咱们直入正题,聊一下hive的优化方法。 优化点一:业务逻辑优化 1.去除冗余逻辑 对于复杂业务逻辑来说,在非数据倾斜的情况下,最有效的优化方式就是对业务逻辑的优化,去掉冗余的逻辑过程,能一步完成的不要分两步。尤其对于旧逻辑优化及数据迁移工作中较为常见。 2.重复逻辑落临时表 复杂的业务场景很可能会有复用的逻辑,把重复的逻辑落入临时表中不仅能减少资源消耗,还能有利于后期的代码维护。 优化点二:减少读取

weixin_44902108的博客 1700

QT-Creator安装教程(windows)

本文介绍了Qt的下载安装步骤:1)通过镜像源下载安装包;2)运行exe文件时使用命令行参数指定镜像地址;3)在安装过程中选择路径和自定义安装组件,包含QT5和QT6版本的详细安装说明;4)安装后可继续添加扩展包或卸载组件。重点提示了QT6必须勾选的关键组件,并提供了组件管理的操作方法。

qq_53545309的博客 3109

[AIGC 大数据基础]hive浅谈

在当今大数据时代,随着数据量的不断增大,如何高效地处理和分析海量数据已经成为一个重要的挑战。为了满足这一需求,Hive应运而生。Hive作为一个基于Hadoop的数据仓库基础设施,为用户提供了类SQL的查询语言和丰富的功能,使得处理大规模数据变得更加简单和高效。通过对数据进行分区、压缩以及并行处理,Hive能够快速地处理PB级数据。本博客将从“是什么、怎么用,为什么用”三个角度对Hive进行介绍。我们将详细讲解Hive是什么,它的基本语法和功能,以及为什么选择使用Hive来处理大数据。

程序员三木的博客 1415

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

浅谈Hive调优

Hive 作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响 Hive 效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、Job或I/O过多、MapReduce 分配不合理等等。对Hive 的调优既包含 Hive 的建表设计方面,对HiveHQL 语句本身的优化,也包含 Hive 配置参数 和 底层引擎 MapReduce 方面的调整。 1 Hive建表设计调优 Hive的建表设计层面调优,主要讲的怎么样合理的组织数据,方便后续的高效计算。比如建表的类型,文件存储格式,是否压缩等

LINBE_blazers的博客 1029

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

浅谈Hive

是什么 Hive是Hadoop生态的数据仓库工具 Hive将存储在HDFS上的文件映射为关系表 通过解析开发者提交的SQL语句,将SQL转换成MR任务,提交到Hadoop执行 Hive提供了命令行客户端和JDBC Hive架构 Hive 安装 将Hive的元数据库替换为mysql hive自带关系型数据库derby用于存储hive中的库和表的结构信息(metadata) 生产环境中通常将derby替换为mysql等性能更好的开源数据库 yum yum install mysql 使用

qq_42555701的博客 1702

浅谈Hive数据仓库之拉链表

** Hive数据仓库之拉链表 ** 本篇分享总体结构: ①.先分享一下拉链表的用途、什么是拉链表。 ②.通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。 ③.举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,我们会以Hive场景下的设计为例)。 ④.分析一下拉链表的优缺点,并对前面的提到的一些内容进行补充说明,比如说拉链表和流水表的区别。 1.到底什么是拉链表 拉链表是针对数据仓库设计中表存储数据的方式

index_test的博客 1958

浅谈HIVE数据存储格式使用STORED AS ORC 格式

 1.在压缩存储时间上,除Sequencefile外基本都相差无几。  2.数据压缩比例上ORC最优,相比textfile节省了50倍磁盘空间,parquet压缩性能也较好。  3.SQL查询速度而言,ORC与parquet性能较好,远超其余存储格式。  综合上述各种性能指标,建议工作中原始日志写入hive的存储格式都采用ORC或者parquet格式,这和目前主流的做法一致。 ...

zhuzhen123zhuzhen的博客 8770

hive入门学习:浅谈hive的常见优化策略

hive入门学习:浅谈hive的常见优化策略                           hive的产生 虽然大幅度的减轻了编写MR代码的代价,但是由于它依然使用的是以mapreduce作为底层的驱动,那么由于shuffle产生的问题依然保留着,这里简单的讨论一下和hive性能优化的讨论。主要涉及如下几点:第一:合理的设置map的个数和reduce的个数,第二,选择合理的数据压缩策略,

HAHA的专栏 3510

hive中groupby优化_HIVE 优化浅谈

作者:邓力,entobit技术总监,八年大数据从业经历,由一代HADOOP入坑,深耕云计算应用领域,由从事亚马逊EMR和阿里云EMR应用开发逐步转入大数据架构领域,对大数据生态及框架应用有深刻理解。引言随着商务/运营同学执行的HQL越来越多,整体HIVE执行效率变低,本文从HIVE切入,分析HQL面临的问题和待优化部分,结合其他大数据框架来解决实际问题。以下内容没有针对业务代码提供优化建议.常见的...

weixin_39589693的博客 317

浅谈一个新人的大数据之路

CCCCCold丶大数据之禅第一章,大数据之路浅谈数仓&数据集市&数据湖数据模型从模型ETL频率一般将模型划分为:从模型存储技术上讲,模型划分为:从数据分层角度讲,模型又会被划分为:从模型创建类型上讲,模型又会被划分为:从模型存储类型上讲,模型又会被划分为:从模型压缩算法上讲,又有如下划分:队列:计算引擎: 第一章,大数据之路浅谈 数仓&数据集市&数据湖 数据仓库:...

CCCCold的博客 2万+

精品 | HIVE优化浅谈

简介:HIVE是数据仓库和交互式查询的优秀框架,但随着数据的增多,join的复杂度和性能问题,需要花时间和精力解决性能优化的问题。除了基于HIVE本身优化,还可以接入计算性能更好的框架,SparkSQL relational cache对使用者透明,开发不需要关心底层优化逻辑,将更多精力放入业务设计开发。 作者:邓力,entobit技术总监,八年大数据从业经历,由一代HADOOP入坑,深耕云计...

大数据hive教程详解 214

浅谈Hive vs. HBase

浅谈Hive vs. HBase http://www.youkuaiyun.com/article/2014-05-29/2820004-Hive-HBase 摘要:对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的。本文将尝试从其各自的定义、特点、限制、应用场景等角度来进行分析,以作抛砖引玉之用。 对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难

运 504

浅谈Hive vs HBase

Hive是什么? Apache Hive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库。Hive可以看作是用户编程接口,它本身不存储和计算数据;它依赖于HDFS(Hadoop分布式文件系统)和MapReduce(一种编程模型,映射与化简;用于大数据并行运算)。其对HDFS的操作类似于SQL—名为HQL,它提供了丰富的SQL查询方式来分析存储在HDFS中的数据;...

weixin_30462049的博客 115
上一篇: 不同hive集群中基于表的数据一致性比对
下一篇: oracle数据库备份之exp增量备份
AA赵师傅
博客等级 码龄9年 89粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值