一.核心思想

  把HQL当做MapReduce程序去优化。

  注意,以下SQL不会转为MapReduce执行:

    1.select仅查询本表字段。

    2.where仅对本表字段做条件过滤。

二.启动Hive

  

  备注:Hive依赖Zookeeper和HDFS,因此需要先开启!

三.Explain

  Explain显示执行计划,Explain [EXTENDED] query

  1.普通查询,不执行mapreduce任务

    1.1.普通查询

    

    1.2.不带EXTENDED的Explain

    

    1.3.带EXTENDED的Explain

    

  2.执行count(*),执行mapreduce

    2.1 普通查询

    

    2.2不带EXTENDED的Explain

    

     

    2.3带EXTENDED的Explain

    

    

    

    

四.Hive运行模式

  1.本地模式

    1.查看默认配置

      

      默认为集群模式。

     2.设置本地模式

      

    3.查看设置成本地模式后对查询性能的影响

      

      注意:

        1.与2.1普通查询比较,速度提升4倍左右,一般仅适用于本地测试!

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

  2.集群模式

五.并行计算

  通过设置以下参数开启并行计算模式:set hive.exec.parallel=true;

  注意:

    1.hive.exec.parallel.thread.number【一次SQL计算中运行并行执行的job个数的最大值】

    2.需要提前关闭本地模式。

  1.默认情况,关闭本地模式:

    

    

    

    

  2.开启并行计算

    

    

    

    

    注意:性能大概提升25%,这主要和SQL是否可以并行执行有关!

Hive性能优化【核心思想、运行模式、并行计算】的更多相关文章

  1. 读《SQL优化核心思想》:你不知道的优化技巧

    SQL性能问题已经逐步发展成为数据库性能的首要问题,80%的数据库性能问题都是因SQL而导致. 1.1 基数(CARDINALITY) 某个列唯一键(Distinct_Keys)的数量叫作基数.比如性 ...

  2. Hive性能优化

    1.概述 继续<那些年使用Hive踩过的坑>一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题.下面开始本篇文章的优化介绍. 2.介绍 首先 ...

  3. Hive性能优化上的一些总结

    https://blog.csdn.net/mrlevo520/article/details/76339075 1.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题? 数据 ...

  4. Hive性能优化(全面)

    1.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题? 数据量大不是问题,数据倾斜是个问题. jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次 ...

  5. WEB开发性能优化--核心定义介绍篇(1)

    推荐理由 随着 互联网的蓬勃发展,并且伴随着产品功能的越来越复杂,对于技术人员来说最大的挑战就是如何在保证业务快速发展的同时,也可保证不断复杂的业务对用户体验的影响,其中对用户来说最重要的体验指标是如 ...

  6. 转:Hive性能优化之ORC索引–Row Group Index vs Bloom Filter Index

    之前的文章<更高的压缩比,更好的性能–使用ORC文件格式优化Hive>中介绍了Hive的ORC文件格式,它不但有着很高的压缩比,节省存储和计算资源之外,还通过一个内置的轻量级索引,提升查询 ...

  7. Hive性能优化【严格模式、join优化、Map-Side聚合、JVM重用】

    一.严格模式 通过设置以下参数开启严格模式: >set hive.mapred.mode=strict;[默认为nonstrict非严格模式] 查询限制: 1.对于分区表,必须添加where查询 ...

  8. Hive性能优化--map数和reduce数

    转自http://superlxw1234.iteye.com/blog/1582880 一.    控制hive任务中的map数:  1.    通常情况下,作业会通过input的目录产生一个或者多 ...

  9. [iOS Animation]-CALayer 性能优化

    性能优化 代码应该运行的尽量快,而不是更快 - 理查德 在第一和第二部分,我们了解了Core Animation提供的关于绘制和动画的一些特性.Core Animation功能和性能都非常强大,但如果 ...

随机推荐

  1. jquery ajax Uncaught TypeError :Illegal invocation 报错

    使用jquery ajax异步提交的时候报Uncaught TypeError :Illegal invocation错误,报错如图: 基本上,导致这个错误的原因一般有以下两点: 1.请求类型有误,如 ...

  2. (转)Nginx中sendfile的作用

    原文:https://blog.csdn.net/zhusixun/article/details/81702380 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上 ...

  3. spring与springMVC的父子容器关系

    背景和概述 在spring与springMVC中通过IOC可以管理bean对象,有两个配置文件可以配置ioc spring的配置文件applicationContext.xmlspringMVC的配置 ...

  4. MongoDB开发深入之三:复制

    复制是基于操作日志oplog,相当于MySQL中的二进制日志,只记录发生改变的记录,复制是将主节点的oplog日志同步并应用到其他从节点的过程. 首先要理解两个概念:1.复制:提供冗余和高可用性:2. ...

  5. Python的log

    关键代码 调用方: from Logger import MyLogger import logging import sys, os def getLogger(): # get the file ...

  6. PAT 甲级 1020 Tree Traversals (25分)(后序中序链表建树,求层序)***重点复习

    1020 Tree Traversals (25分)   Suppose that all the keys in a binary tree are distinct positive intege ...

  7. EasyNVR摄像机网页无插件直播方案H5前端构建之:如何区分PC端和移动端

    背景分析 随着互联网基础设施建设的不断完善和发展,带宽的不断提速,尤其是光纤入户,4G/5G/NB-IoT各种网络技术的大规模商用,视频随时随地可看.可控的诉求越来越多,尤其是移动应用技术和前端技术的 ...

  8. helm安使用

    参照:https://juejin.im/post/5b6590afe51d4519962f02b1

  9. 【Docker学习之一】初始Docker

    一.云计算的概念 PaaS(Platform-as-a-Service:平台即服务),把应用服务的运行和开发环境作为一种服务.SaaS(Software-as-a-Service),意思为软件即服务, ...

  10. PHP pdo单例模式连接数据库

    PHP pdo单例模式连接数据库<pre><?php class Db{ private static $pdo; public static function getPdo () ...