Hive远程模式部署参考:
一、Hive数据仓库应用之Hive部署(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)
文章目录
一、Hive存储优化
Hive中底层数据是以文件的形式存储在Hadoop的HDFS中,不同文件存储格式不仅对存储空间占用的大小有所不同,而且对HiveQL语句的执行性能也有所不同,因此根据实际应用场景选择合理的文件存储格式就显得尤为重要。Hive中常见的文件存储格式如下:
文件存储格式 | 存储方式 | 自身支持压缩 | 支持分片 | 加载数据方式 |
---|---|---|---|---|
TextFile | 行式存储 | 否 | 否 | LOAD和INSERT |
SequenceFile | 列式存储 | 是 | 是 | INSERT |
ORCFile | 行式存储 | 是 | 是 | INSERT |
TextFile是Hive默认文件存储格式。
SequenceFile将数据存储为序列化的键值对形式,其中值为原始数据,键为生成的内容。SequenceFile支持两种压缩RECORD和BLOCK,其中RECORD表示只对值进行压缩,BLOCK表示键值都会被压缩。
ORCFile支持两种压缩ZLIB和SNAPPY,其中ZLIB压缩率比较高;SNAPPY压缩和解压的速度比较快。在实际的生产环境中,一般使用ORCFile和ZLIB或者SNAPPY相组合的方式设置Hive表的存储及压缩格式。
例如在创建Hive时指定存储格式为ORCFile并执行压缩格式为Snappy,其指令如下:
CREATE TABLE log_orc_snappy(
track_time STRING,
url STRING,
session_id STRING,
referer STRING,
ip STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS ORC
TBLPROPERTIES ("orc.compress"="SNAPPY");
上述指令中,最后两个依次表示存储格式为ORCFile,压缩方式为SNAPPY。
二、Hive参数优化
Hive参数优化是指通过调整Hive默认的参数配置,以达到提升Hive性能的效果。Hive参数配置主要分为临时配置和永久配置,其中临时配置是指在Hive客户端通过set命令指定配置参数及配置参数的值,若当前客户端退出,则配置自动消失;永久配置是指在Hive的配置文件hive-site.xml中配置相关参数。
1、配置MapReduce压缩
MapReduce任务在执行过程中,会涉及将中间数据写入磁盘的操作,为了减少磁盘IO和网络IO的开销,通常使用压缩速度较快的压缩格式,如Snappy,从而提升Hive性能。
配置MapReduce的常用参数如下:
mapreduce.map.output.compress:默认值为false,用于启动Map输出压缩,若开启则需要设置参数值为True。
mapreduce.map.output.compress.codec:默认参数为org.apache.hadoop.io.compress.DefaultCodec,用于设置Map输出压缩编码解码器,推荐使用Snappy,设置参数为org.apache.hadoop.io.compre