Hive Sql优化记录

作者: 风筝flying | 来源:发表于2019-10-16 16:05 被阅读0次
  1. 日常检查ETLjob时发现一段sql采用hive on mr执行比hive on spark要快70%,与正常的认知正好相反,所以对该sql进行了详细分析。
    该SQL是一个主表left join多个子表(join key是一样的),分别查看了采用Hive执行和Spark执行的日志,具体如下:
  • Hive:只有一个Map Reduce过程,应该是在Map阶段同时读取了4张表的数据,然后在Reduce阶段同时做了多张表的join,只做了一次reduce side join。
  • Spark:实际的执行过程是join->join->join 的链式过程
    经查证,原因如下:
  • spark开启了adaptive模式,这个模式可以做自适应的优化,但是前提是需要拿到一些统计数据,开启了adaptive后,会一个个表的join去获取统计数据。如果关闭该模式后,是可以和hive一样在一个reduce中同时join多张表(多张表的join key是一样的);set spark.sql.adaptive.enabled=false;
  • spark在资源完全充足的情况下,瞬间获取资源的能力是不如hive的,可以通过参数调整,得到和hive类似的资源获取能力;set spark.dynamicAllocation.tasksPerExecutorSlot=1;

相关文章

  • Hive Sql优化记录

    日常检查ETLjob时发现一段sql采用hive on mr执行比hive on spark要快70%,与正常的认...

  • Hive优化

    Hive数据倾斜优化总结 Hive数据倾斜优化分为配置优化和SQL优化 优先原则: 数据不怕多,避免倾斜。 减少J...

  • 2018-08-05--08-11

    08-05配置1、sql语句练习。根据月乔的文档&sql优化,根据文档练习2、hive语句1)hive,sql连接...

  • Hive优化实践1-数据倾斜及join无关的优化

    Hive SQL的各种优化方法基本 都和数据倾斜密切相关。 Hive的优化分为join相关的优化和join无关的优...

  • 大数据开发之Hive优化篇8-Hive Job优化

    备注:Hive 版本 2.1.1 Hive job优化概述 实际开发过程中,经常会遇到hive sql运行比较慢的...

  • hive积累大全

    此篇内容:hive自定义函数UDF、UDTF,压缩存储方式,hive优化、hive实际编程SQL中的if表达式用法...

  • Hive优化

    核心思想:把Hive SQL 当做Mapreduce程序去优化 注意:以下SQL不会转为Mapreduce来执行,...

  • 数据仓库快速入门

    记录了实习过程中Hive SQL常用方法 工具 Hive Sql 特点: 通过类 SQL 来分析大数据,而避免了写...

  • 25Hive优化(Hive7)(这节很重要)

    本节所讲优化策略适用于任何场景 1.核心思想 把Hive SQL 当做Mapreduce程序去优化以下SQL不会转...

  • HIVE SQL 优化

    1、reduce的个数:先看一下跑hive时出现的参数: in order to change the avera...

网友评论

    本文标题:Hive Sql优化记录

    本文链接:https://www.haomeiwen.com/subject/dorumctx.html