Hive_HIVE优化指南_场景九_减少IO次数

 

大纲地址 : https://blog.csdn.net/u010003835/article/details/105334641

 

 

场景九.减少IO次数

1)  通过多表插入  FROM A INSERT B SELECT a, ... INSERT C SELECT a, ...

2)  一次输入,多次使用 WITH TABLE AS (...)

3) 案例

 

 

 

场景九.减少IO次数

1)  通过多表插入  FROM A INSERT B SELECT a, ... INSERT C SELECT a, ...

使用方法 

https://blog.csdn.net/u010003835/article/details/105400140

  这是一个优化,可以减少表的扫描,从而减少 JOB 中 MR的 STAGE 数量,达到优化的目的。

 

 

2)  一次输入,多次使用 WITH TABLE AS (...)

 

使用方法:

https://blog.csdn.net/u010003835/article/details/105399470

 

with as 也叫做子查询部分,首先定义一个sql片段,该sql片段会被整个sql语句所用到,为了让sql语句的可读性更高些,作为提供数据的部分,也常常用在union等集合操作中。

with as就类似于一个视图或临时表,可以用来存储一部分的sql语句作为别名,不同的是with as 属于一次性的,而且必须要和其他sql一起使用才可以!

其最大的好处就是适当的提高代码可读性,而且如果with子句在后面要多次使用到,这可以大大的简化SQL;更重要的是:一次分析,多次使用,这也是为什么会提供性能的地方,达到了“少读”的目标。

 

3) 案例

请参考   https://blog.csdn.net/u010003835/article/details/105394136

数据统计背景:

我们现在有多个公司,多个部门,多位员工的薪水情况。现在我们需要按照多种维度去统计薪水。

同时我们有多张结果表,那么就需要我们在统计的同时,将数据放入多张结果表中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值