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...
相关推荐
该项目是一款基于freeRTOS操作系统和STM32F103x微控制器的手机远程控制浴室温度系统设计源码,共包含1087个文件,包括580个C语言源文件、269个头文件、45个汇编源文件、36个数据文件、36个目标文件、35个编译规则文件、28个包含文件、27个文本文件、6个源文件、3个归档文件。此系统通过手机远程实现对浴室温度的有效控制,适用于智能浴室环境管理。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。