hive部分:hive的优化,MapReduce的优化

hive 核心思想:

把 Hive SQL 当做 Mapreduce 程序去优化。

以下 SQL 不会转为 Mapreduce 来执行:

select 仅查询本表字段; where 仅对本表字段做条件过滤。

explain 命令可以显示执行计划:

EXPLAIN [EXTENDED] query; EXTENDED 可以看到更详细 的信息。

本地模式提高执行效率

本地模式:

mapreduce 任务运行在一台节点上,该节点把需要的资源从其他机器 copy 过来

集群模式:

mapreduce 任务在 hadoop 集群中执行 开启本地模式:

set hive.exec.mode.local.auto=true;

注意:

hive.exec.mode.local.auto.inputbytes.max 默认值为 128M,表示加载文件的最大值,若 大于该配置仍会以集群方式来运行

查询的数据在数据量不大的表中,这种情况使用本地模式,数据量大时使用集群模式

并行计算

hive 执行 sql 默认是顺序执行,如下 sql 如果使用并行计算会大大提高效率,但是集群 压力也增大:

select wc.col1,bk.col2 from
(select count(*) as col1 from wordcount) wc,
(select count(*) as col2 from bucket) bk;

两条子查询可以使用并行计算

通过设置以下参数开启并行模式:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值