全方位揭秘!大数据从0到1的完美落地之Hive压缩
Hive的压缩
HQL语句最终会被编译成Hadoop的Mapreduce job,因此hive的压缩设置,实际上就是对底层MR在处理数据时的压缩设置。
hive在map阶段的压缩
map阶段的设置, 就是在MapReduce的shuffle阶段对mapper产生的中间结果数据压缩 。 在这个阶段,优先选择一个低CPU开销的算法。
<!-- 指定要不要开启中间压缩 -->
<property><name>hive.exec.compress.intermediate</name><value>false</value>
</property><!-- 指定中间压缩想要使用的压缩编码器(类文件) -->
<property><name>hive.intermediate.compression.codec</name><value/>
</property><!-- 指定压缩编码器中的那种压缩类型 -->
<property><name>hive.intermediate.compression.type</name><value/>
</property>
hive在reduce阶段的压缩
即对reduce阶段的输出数据进行压缩设置。
<!-- 指定要不要开启最终压缩。 -->
<property><name>hive.exec.compress.output</name><value>false</value>
</property>注意:如果开启,默认使用中间压缩配置的压缩编码器和压缩类型。
常用压缩格式
压缩格式 | 压缩比 | 压缩速度 | 需要安装 | 支持切分 |
---|---|---|---|---|
bzip2 | 最高 | 慢 | 否 | 是 |
gzip | 很高 | 比较快 | 否 | 否 |
snappy | 比较高 | 很快 | 是 | 否 |
lzo | 比较高 | 很快 | 是 | 是(需要建立索引) |
压缩编码器:
压缩格式 | 压缩编码器 |
---|---|
deflate | org.apache.hadoop.io.compress.DefaultCodec |
gzip | org.apache.hadoop.io.compress.GzipCodec |
bzip2 | org.apache.hadoop.io.compress.BZip2Codec |
lzo | com.hadoop.compression.lzo.LzopCodec(中间输出使用) |
snappy | org.apache.hadoop.io.compress.SnappyCodec(中间输出使用) |
案例测试:
-- 开启中间压缩机制
hive (mydb)> set hive.exec.compress.intermediate=true;
-- 设置中间压缩编码器
hive (mydb)> set hive.intermediate.compression.codec=org.apache.hadoop.io.compress.DefaultCodec;
-- 设置压缩类型
hive (mydb)> set hive.intermediate.compression.type=RECORD;
-- 开启reduce端的压缩机制
hive (mydb)> set hive.exec.compress.output=true;create external table if not exists stocks_seq_2 (
exchange1 string,
symbol string,
ymd string,
price_open float,
price_high float,
price_low float,
price_close float,
volume int,
price_adj_close float
)
row format delimited
fields terminated by ','
stored as sequencefile;--动态加载数据:
insert into stocks_seq_2 select * from stocks_1;验证数据是否变小了..........
全方位揭秘!大数据从0到1的完美落地之Hive压缩相关推荐
- 全方位揭秘!大数据从0到1的完美落地之Hive自定义函数
自定义函数 自定义函数介绍 hive的内置函数满足不了所有的业务需求.hive提供很多的模块可以自定义功能,比如:自定义函数.serde.输入输出格式等.而自定义函数可以分为以下三类: 1)UDF:u ...
- 全方位揭秘!大数据从0到1的完美落地之Hive介绍
Hive定义 Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张数据表,并可以使用类似SQL的方式来对数据文件进行读写以及管理.这套Hive SQL 简称HQL.Hive的 ...
- 全方位揭秘!大数据从0到1的完美落地之Hive分桶
分桶的概述 为什么要分桶 数据分区可能导致有些分区数据过多,有些分区数据极少.分桶是将数据集分解为若干部分(数据文件)的另一种技术. 分区和分桶其实都是对数据更细粒度的管理.当单个分区或者表中的数据越 ...
- 全方位揭秘!大数据从0到1的完美落地之Hive企业级调优
Hive企业级调优 调优原则已经在MR优化阶段已经有核心描述,优化Hive可以按照MR的优化思路来执行 优化的主要考虑方面: 环境方面:服务器的配置.容器的配置.环境搭建 具体软件配置参数: 代码级别 ...
- 全方位揭秘!大数据从0到1的完美落地之Hive窗口函数
窗口函数 窗口函数over简介 先来看一下这个需求:求每个部门的员工信息以及部门的平均工资.在mysql中如何实现呢 求部门平均工资 select deptno ,avg(sal) from emp ...
- 全方位揭秘!大数据从0到1的完美落地之Hive分区
分区简介 为什么分区 Hive的Select查询时,一般会扫描整个表内容.随着系统运行的时间越来越长,表的数据量越来越大,而hive查询做全表扫描,会消耗很多时间,降低效率.而有时候,我们需求的数据只 ...
- 全方位揭秘!大数据从0到1的完美落地之Hive存储格式
hive的存储格式 hive的存储格式分为两大类:一类纯文本文件,一类是二进制文件存储. 第一类: 纯文本文件存储 textfile: 纯文本文件存储格式,不压缩,也是hive的默认存储格式,磁盘开销 ...
- 全方位揭秘!大数据从0到1的完美落地之Hive查询操作
Hive基本查询语法 基本使用规则 基本查询语句组成 select .. from ..join [tableName] on ..where ..group by ..having ..order ...
- 全方位揭秘!大数据从0到1的完美落地之Hive视图
hive的视图 简介 hive的视图简单理解为逻辑上的表 hive只支持逻辑视图,不支持物化视图 视图存在的意义 对数据进行局部暴露(涉及隐私的数据不暴露) 简化复杂查询 创建视图: create v ...
最新文章
- 关于文件的默认读取和保存路径(转)
- Spark SQL使用window进行统计
- truncate、rename函数的使用
- 流程图 3条泳道 决策_制定透明决策的三步流程
- ansys18安装以后打不开_【偷偷告诉你】在微信里直接安装apk.1
- STM32Cube_FW_F1_V1.0.0固件库学习(四)外部中断 中
- 关于有偿提供拼图响应式后台的通知.
- Linux下安装yum源
- JAVA小项目--商品管理系统
- 扫描仪上显示服务器连接错误代码,扫描仪 常见问题解决方法
- 神策数据杨宁:券商财富管理数字化转型客户全生命周期(视频解读)
- 网络安全之僵尸网络与蠕虫的学习笔记
- NLP数据增强;中文数据增强包;一键中文数据增强
- 计算机网速单位是什么,计算机存储单位和网络网速单位
- 华为平板鸿蒙发布,华为新款平板与P50一同发布!有望搭载鸿蒙系统
- “bang” in JavaScript
- VMware16安装MacOS【详细教程】
- 查看锐捷poe交换机供电状态_锐捷 RG-S2910-24GT4SFP-UP-H 24个电口支持PoE和PoE+供电交换机...
- 线程函数参数(LPVOID Param)
- php连接mysql测试脚本,php MySQL连接测试