`
love敏小仪
  • 浏览: 36680 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

hive的map结果压缩

 
阅读更多

 

map的中间结果也可以启用压缩,而且中间结果对输出结果是没有影响的:

hadoop-site.xml中:

 

<property>
  <name>mapred.compress.map.output</name>
  <value>true</value>
  <description>Should the outputs of the maps be compressed before being
               sent across the network. Uses SequenceFile compression.
  </description>
</property>
<property>
  <name>mapred.map.output.compression.codec</name>
  <value>org.apache.hadoop.io.compress.LzoCodec</value>
  <description>If the map outputs are compressed, how should they be
               compressed?
  </description>
</property>

 

也可以hive-site.xml中配置:

 

<property>
  <name>hive.exec.compress.intermediate</name>
  <value>true</value>
  <description>Should the outputs of the maps be compressed before being
               sent across the network. Uses SequenceFile compression.
  </description>
</property>
<property>
  <name>hive.intermediate.compression.codec</name>
  <value>org.apache.hadoop.io.compress.LzoCodec</value>
  <description>If the map outputs are compressed, how should they be
               compressed?
  </description>
</property>

 

 

或者直接在HIVE脚本中写:

set hive.exec.compress.intermediate=true;

set hive.intermediate.compression.codec="org.apache.hadoop.io.compress.LzoCodec";

中间结果的压缩,建议采用lzo,因为它速度比较快,不像其他压缩方式比较耗CPU。

当然,如果启用了lzo,也会有上面说的许可证的问题,要保证你的集群机器都单独安装了lzo压缩包。

 

需要注意的是,lzo在0.19.1中是存在的,但是在0.20之后,因为许可证问题被移除了,是需要单独安装的。

首先需要添加lzo codec,在hadoop-site.xml中添加:

 

<property>
  <name>io.compression.codecs</name>
  <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.LzoCodec</value>
  <description>A list of the compression codec classes that can be used
               for compression/decompression.</description>
</property>

 

其他的压缩配置按照上面的写就OK。

配置完以后,可以在job.xml中查看运行的作业的配置是否启用了压缩,也可以使用

hadoop fs -cat 输出结果文件 | more

来查看是否启用压缩。因为输出结果文件的文件头是标注了文件的格式的,如key和value的类名,以及是否压缩。如果启用压缩,你能看到类似下面的输出:

SEQ"org.apache.hadoop.io.BytesWritableorg.apache.hadoop.io.Text*org.apache.hadoop.io.compress.DefaultCodec...

分享到:
评论

相关推荐

    分布式数据仓库Hive大全

    7. HIVE 的MAP/REDUCE 41 7.1 JOIN 41 7.2 GROUP BY 42 7.3 DISTINCT 42 8. 使用HIVE注意点 43 8.1 字符集 43 8.2 压缩 43 8.3 count(distinct) 43 8.4 JOIN 43 8.5 DML操作 44 8.6 HAVING 44 8.7 子查询 44 8.8 ...

    Hive用户指南

    7. HIVE 的MAP/REDUCE 41 7.1 JOIN 41 7.2 GROUP BY 42 7.3 DISTINCT 42 8. 使用HIVE注意点 43 8.1 字符集 43 8.2 压缩 43 8.3 count(distinct) 43 8.4 JOIN 43 8.5 DML操作 44 8.6 HAVING 44 8.7 子查询 44 8.8 ...

    hive调优

    背景:map完产生了很多中间文件,被保存在磁盘上,然后等待reduce通过网络来拉取,如果开启map输出阶段压缩,可以减少Map和Reduce间的数据传输量。 1)开启hive中间传输数据压缩功能 set hive.exec.compress....

    Hadoop权威指南(中文版)2015上传.rar

    获取结果 作业调试 使用远程调试器 作业调优 分析任务 MapReduce的工作流 将问题分解成MapReduce作业 运行独立的作业 第6章 MapReduce的工作机制 剖析MapReduce作业运行机制 作业的提交 作业的初始化 任务的分配 ...

    Hadoop权威指南 第二版(中文版)

     获取结果  作业调试  使用远程调试器  作业调优  分析任务  MapReduce的工作流  将问题分解成MapReduce作业  运行独立的作业 第6章 MapReduce的工作机制  剖析MapReduce作业运行机制  作业的提交  作业...

    Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )

    技术点26 在HDFS、MapReduce、Pig 和Hive 中使用数据压缩 技术点27 在MapReduce、Hive 和Pig 中处理可分割的LZOP 5.3 本章小结 6 诊断和优化性能问题 6.1 衡量MapReduce 和你的环境 6.1.1 提取作业统计...

    Hadoop实战(第2版)

    4.4 本章小结5 优化HDFS 处理大数据的技术5.1 处理小文件技术点24 使用Avro 存储大量小文件5.2 通过压缩提高数据存储效率技术点25 选择合适的压缩解码器技术点26 在HDFS、MapReduce、Pig 和Hive 中使用...

    Hadoop实战(陆嘉恒)译

    map侧过滤后在reduce侧联结5.3 创建一个Bloom filter5.3.1 Bloom filter做了什么5.3.2 实现一个Bloom filter5.3.3 Hadoop 0.20 以上版本的Bloom filter5.4 温故知新5.5 小结5.6 更多资源第6 章 编程实践6.1 开发...

    Hadoop实战中文版

    Hive及Hadoop群 11.1 Hive 11.1.1 安装与配置Hive 11.1.2 查询的示例 11.1.3 深入HiveQL 11.1.4 Hive小结 11.2 其他Hadoop 相关的部分 11.2.1 HBase 11.2.2 ZooKeeper 11.2.3 Cascading 11.2.4 Cloudera ...

    Hadoop实战

    20110.9 小结 206第11章 Hive及Hadoop群 20711.1 Hive 20711.1.1 安装与配置Hive 20811.1.2 查询的示例 21011.1.3 深入HiveQL 21311.1.4 Hive小结 22111.2 其他Hadoop相关的部分 22111.2.1 HBase 22111.2.2 ...

    Hadoop实战中文版.PDF

    206第11章 Hive及Hadoop群 20711.1 Hive 20711.1.1 安装与配置Hive 20811.1.2 查询的示例 21011.1.3 深入HiveQL 21311.1.4 Hive小结 22111.2 其他Hadoop相关的部分 22111.2.1 HBase 22111.2.2 ...

    4399大数据笔试题.pdf

    有存储在Hive上的⼀张pay_log表 ser_name pay_money pay_date 1)使⽤SQL语句查询消费总额、消费总次数、消费最⼤的⾦额、消费最⼤的⾦额 2)使⽤SQL语句每⼀天当天消费的总⾦额 3)使⽤SQL语句对消费⾦额进⾏排名(⽤...

Global site tag (gtag.js) - Google Analytics