1、开启hive作业mapreduce任务中间压缩功能:

对于数据进行压缩可以减少job中map和reduce task间的数据传输量。对于中间数据压缩,选择一个低cpu开销编/解码器要不选择一个压缩率高的编解码器重要很多。hadoop压缩的默认编解码器是DefaultCodec,可以通过设置参数mapred.map.output.compression.codec来进行相应调整,这是一个hadoop配置项,可以在hadoop mapred-site.xml文件更改或hive-site.xml文件进行更改。SnappyCodec是一个比较好的编解码器,拥有低cpu开销和好的压缩率。

开启中间数据压缩需要设置参数:

hive.exec.compress.intermediate的值为true;

mapred.map.output.compression.codec为org.apache.hadoop.io.compress.SnappyCodec:

<property>

<name>hive.exec.compress.intermediate</name>

<value>true</value>

</property>

<property>

<name>mapred.map.output.compression.codec</name>

<value> org.apache.hadoop.io.compress.SnappyCodec </value>

</property>

注意:hadoop开启中间压缩参数为mapred.compress.map.output。

2、开启hive作业最终输出结果压缩功能:

当hive将输出写入到表中时,输出内容同样可以进行压缩。通过设置属性hive.exec.compress.output为true控制输出结果压缩。用户可能需要保持默认设置false,然后通过在查询语句或执行脚本中设置这个值为true启用输出结果压缩功能。当参数hive.exec.compress.output设置为true时,需要为其制定一个编解码器,对于输出文件使用Gzip是个不错的选择,因为可以大大减小压缩文件的大小。但是,需要注意的是Gzip压缩文件对于后边mapreduce job而言是不可分割的。

启用结果压缩设置参数:

set hive.exec.compress.output=true;

set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

可能的一个hive作业的设置如下:

set mapred.max.split.size=100000000;
set mapred.min.split.size.per.node=100000000;
set mapred.min.split.size.per.rack=100000000;
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;

set hive.exec.reducers.bytes.per.reducer=1000000000;

set hive.exec.reducers.max=256;

set hive.merge.mapfiles=true;

set hive.merge.mapredfiles =ture;

set hive.merge.size.per.task=256000000;

set hive.merge.smallfiles.avgsize=16000000;

set hive.exec.compress.intermediate=true;

set mapred.map.output.compression.codec= org.apache.hadoop.io.compress.SnappyCodec;

set hive.exec.compress.output=true;

set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

select deptno,count(1) from emp group by deptno;

hive优化之开启压缩功能的更多相关文章

  1. hive优化,开启压缩功能

    1.开启hive作业mapreduce任务中间压缩功能: 对于数据进行压缩可以减少job中map和reduce task间的数据传输量.对于中间数据压缩,选择一个低cpu开销编/解码器要不选择一个压缩 ...

  2. apache 开启压缩功能

    apache如何开启压缩功能. 1,首先先确认是安装deflatte模块.如果未安装,可以重新编译apache添加参数--enable-deflate=shared ,或者扩展安装deflate模块, ...

  3. Apache开启压缩功能

    起源 在一般的web服务器中,都会开启压缩功能,也就是deflate或者是gzip的压缩. 开启压缩功能主要的目的是为了减少传输的带宽,从而当服务器响应给客户端的时候,会大大减少传输的数据,代价就是在 ...

  4. http gzip压缩功能记录

    版权声明:本文为博主原创文章,转载请附上原文出处链接. 本文链接:https://www.cnblogs.com/shaoshuai95928/articles/Tomcat.html 最近在spri ...

  5. Nginx 高级配置-压缩功能

    Nginx 高级配置-压缩功能 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx压缩相关参数概述 1>.gzip on | off; Nginx支持对指定类型的文 ...

  6. 大数据技术之_08_Hive学习_04_压缩和存储(Hive高级)+ 企业级调优(Hive优化)

    第8章 压缩和存储(Hive高级)8.1 Hadoop源码编译支持Snappy压缩8.1.1 资源准备8.1.2 jar包安装8.1.3 编译源码8.2 Hadoop压缩配置8.2.1 MR支持的压缩 ...

  7. CentOS下Apache开启Gzip网页压缩功能

    1.进入/etc/httpd/conf下打开httpd.conf文件 开启Gzip压缩功能,即去掉LoadModule deflate_module modules/mod_deflate.so这行前 ...

  8. 开启Nginx的gzip压缩功能详解

    默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦,Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行 ...

  9. Nginx开启gzip压缩功能

    在Nginx安装完成之后,我们可以开启Gzip压缩功能,这里Nginx默认只能对text/html类型的文件进行压缩.下面的指令为开启Gzip的指令: gzip on; gzip_http_versi ...

随机推荐

  1. ASP.NET中TimeSpan的用法

    一.TimeSpan常量.字段 TimeSpan.MaxValue; // 10675199.02:48:05.4775807TimeSpan.MinValue; //-10675199.02:48: ...

  2. 9.12 翻译系列:数据注解特性之ConcurrencyCheck【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/concurrencycheck-dataannotations-attribute-i ...

  3. Docker 以 docker 方式运行 jenkins

    https://testerhome.com/topics/5798 Docker 以 docker 方式运行 jenkins jmcn · 2016年08月26日 · 最后由 blueshark 回 ...

  4. 1.关于Swift

    关于SwiftSwift是一种新的编程语言,用于iOS和OS X的应用程序,建立在最佳的C和Objective-C之上,没有C兼容性的限制.Swift采用的安全模式设计,并增加了现代的功能,使编程更简 ...

  5. makefile中的wildcard和notdir和patsubst

    转自:https://blog.csdn.net/srw11/article/details/7516712 1.wildcard : 扩展通配符 2.notdir : 去除路径 3.patsubst ...

  6. MXNET:丢弃法

    除了前面介绍的权重衰减以外,深度学习模型常常使用丢弃法(dropout)来应对过拟合问题. 方法与原理 为了确保测试模型的确定性,丢弃法的使用只发生在训练模型时,并非测试模型时.当神经网络中的某一层使 ...

  7. mxnet:基础知识和一个简单的示例

    NDArray与NumPy的多维数组类似,但NDArray提供了更多的功能:GPU和CPU的异步计算:自动求导.这使得NDArray能更好地支持机器学习. 初始化 from mxnet import ...

  8. 文件解压缩 tar zip

    zip -e var-log-protected.zip /var/log/* Enter password: Verify password: updating: var/log/acpid (de ...

  9. PowerDesigner 16PDM显示备注

    默认显示的列是Name及类型 name和code不支持同时显示,设置方法: Tool->Model Options->Name Convention->右侧display中选择显示n ...

  10. [Laravel] 08 - Auth & Data Migration

    登录注册框架 一.加载Auth模块 Step 1, 安装Auth模块 生成相关 laravel 框架内部的代码模块: $ php artisan make:auth 自动添加了路由代码 在larave ...