Hive优化

Hive优化

中间表

业务分析处理中只涉及到少数字段,一号店的数据,计算PV,UV,一种36个字段,用到只有4个字段。

 

shuffle优化

hive的底层是MapReduce程序

回顾MpaReduce shuffle过程

2个阶段:map 端的shuffle,reduce端的shuffle

3个必选项:

分区Partitioner

决定MapTask输出的数据交给那个reduceTask处理

排序Sorter

很多地方都会发生排序

分组group

将相同Key的value放在一个集合中。

2个可选:

合并Combiner

在Map端进行Reducer聚合操作。

并不是所有的MapReduce程序都可以设置Combiner操作

压缩Compress

压缩Map输出结果数据,减少网络IO和磁盘IO

 

常见压缩算法

lzo

snappy

lz4

检查hadoop支持哪些压缩

bin/hadoop checknative

 

总结

对于MaprReduce程序来说

配置下面参数即可

mapreduce.map.output.compress = true;

mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.Lz4Codec

对于Hive来说

在命令行中配置

set hive.exec.compress.intermediate = true;

set mapreduce.map.output.compress = true;

set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.Lz4Codec

 

set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.SnappyCodec

set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.BZip2Codec

 

压缩效果:

lz4和snappy的压缩效果差不多,bzip2压缩大文件,压缩效果比前两个都好。

 

列式存储

数据存储在文件中 按照 列 进行存储的

同一列的所有数据 存储在一起的

文件格式:

parquet

orc/rw

 

文本文件:按照 行 存储的

在window下可以使用记事本打开

在Linux使用cat/head/tail/more/less打开文件

 

在企业中使用Hive分析数据时候规范

 

1、原始数据文件存储格式textFile,不压缩

如果使用flume采集的话,可以设置压缩

2、针对业务表的数据,通常

parquet + snappy

orc +snappy

对于Hive表来说,采用列式存储的好处:

-a.表中文件数据大大减小-》减少磁盘存储空间

-b.分析数据时候,加载的数据量变少了

38、MetaStore

文档:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration#AdminManualMetastoreAdministration-RemoteMetastoreServer

存储hive的元数据:database、table、分区信息

存储在RDBMS中database中

HiveQL几乎所有的语句都会连接到 MYSQL 查询元数据信息

hive metaStore服务

1-默认方式

bin/hive 每次启动hive CLi都会在内部启动一个meta服务

 

2- Remote Metastore

metaSotre服务和MYSQL不在同一台机器上

3- Local Metastore

metaSotre服务和MYSQL在同一台机器上

mastore配置

 

metaStore启动

bin/hive --service metastore

bin/hive --service metastore -p 9083

 

bin/hive(Beeline)和hiverserver2和metastore 3者的区别

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值