16-hive 文件压缩
来源:互联网 发布:java rmi 端口 编辑:程序博客网 时间:2024/04/19 14:33
1. 介绍:
- Hive 的一个独特的功能就是:Hive 不会强制要求将数据转换成特定的格式才能使用.
- Hive 利用 Hadoop 的 InputFormat API 来从不同的数据源读取数据, 例如文本格式,sequence 文件格式, 甚至用户自定义格式。
- Hive 利用 OutputFormat API 也可以将数据写成不同的格式。
- 尽管 Hadoop 的文件系统支持对于非压缩数据的线性扩展存储, 但是对数据进行压缩还是有很大好处。
- 压缩通常都会节约客观的磁盘空间
- 压缩同样可以增加吞吐量和性能。[通过压缩减少载入内存的数据量而提高I/O吞吐量会更加提高网络传输性能]。
- Hadoop 的 job 通常是 I/O 密集型而不是 CPU 密集型的。对于这种类型,压缩可以提高性能。
- 如果 job 是 CPU 密集型的话, 那么使用压缩可能会降低执行性能。
2. 配置编解码器
- 配置文件
core-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.SnappyCodec</value></property>
开启具体的压缩算法参数配置 :
- 可以在
${HADOOP_HOME}/conf/mapred-site.xml
或${HADOOP_HOME}/conf/hive-site.xml
配置文件中配置。 - 这里使用 Snappy 的压缩算法。
- 可以在
<property> <name>mapred.map.output.compression.codec</name> <value>org.apache.hadoop.io.compress.SnappyCodec</value></property>
- 查看配置属性是否生效
hive> set io.compression.codecs;io.compression.codecs= org.apache.hadoop.io.compress.DefaultCodec, org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.BZip2Codec, org.apache.hadoop.io.compress.SnappyCodec
不同压缩的比较
# BZip2 压缩率最高, 但是同时需要消耗最多的CPU开销。# GZIP 是压缩率和压缩/解压缩上的下一个# Snappy 和 LZO 压缩率相比前两个来所药效但是压缩/解压缩速度要快, 特别是解压缩过程。# LZO 和 Bzip2 是块级的压缩, 所以文件可以划分块# GZIP 和 Snappy 文件不可分割。
3. 开启中间压缩
- 中间压缩指的是 Map 到 Reduce 的中间过程启用压缩。
- 对于中间数据压缩, 选择一个低CPU 开销的编/解码器要比选择一个高压缩率的编/解码器要重要的多。
HiveQL 语句最终会被编译成 Hadoop 的 Mapreduce job, 开启 Hive 中间数据压缩功能, 就是在 MapReduce 的shuffle 阶段对 mapper 产生的中间结果数据压缩
<property> <name>hive.exec.compress.intermediate</name> <value>true</value> <description>This controls whether intermediate files produced by Hive between muilple map reduce job are comressed</description></property>
4. 对 Hive 最终输出结果压缩
- 用户可以对最终生成的 Hive 表的数据进行压缩
- 通过参数 hive.exec.compress.output 控制这一功能的激活或禁用。
<property> <name>hive.exec.compress.output</name> <value>true</value> <description> This controls whether the final outpus of a query( to a local/hdfs file or a Hive table) is compress </description></property>
说明
在输出结果进行压缩时, 文件的输出将以相应的压缩形式作为输出, 并且输出为相应压缩的后缀, 指明压缩类型。
0 0
- 16-hive 文件压缩
- Hive优化--文件压缩格式
- hive压缩之小文件合并
- hive(三)--udf与文件压缩归档
- hive压缩之小文件合并
- hive压缩
- hive优化记录----合并小文件压缩输出
- Hive 文件压缩存储格式(STORED AS)
- Hive中压缩设置 和 Hive文件存储格式及使用
- 压缩hive输出
- hive压缩配置
- hive添加压缩
- Hive之压缩存储
- hive 压缩参数
- hive的压缩设置
- Hive压缩格式
- Hive压缩说明
- Hive 10. 压缩存储
- Quartz2D之渐变使用初步
- 使用Bootstrap的一些小知识点
- mysql binlog
- 使用Java建立聊天客户端
- Android 7.0 新特性
- 16-hive 文件压缩
- docker源码阅读笔记-github配置及代码提交操作
- iOS 自定义导航栏背景,左侧按钮,右侧按钮,及标题
- new delete
- 岁月悠长,秋深情暖
- HDU_2544 标准题解(没有之一)Floyd基础教学
- ftp常用命令介绍
- PAT(乙) 1006. 换个格式输出整数 (15)
- ios开发-AppDelegate