一.核心思想

  把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. Linux创建用户,SFTP只允许访问指定目录

    首先创建用户 useradd lus1passwd lus1 我这里配置lus1这个用户目录,为sftp指向目录,即/home/lus1/ vim /etc/ssh/sshd_config //这个记 ...

  2. CentOS7安装Apache2和PHP7

    安装Apache 2.4 更新源:rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm ...

  3. JDBC连接抽象方法的使用例子

    package com.zdlt.auth.api.base.datasource; import java.sql.*; import java.util.ArrayList; import jav ...

  4. LR 算法总结--斯坦福大学机器学习公开课学习笔记

    在有监督学习里面有几个逻辑上的重要组成部件[3],初略地分可以分为:模型,参数 和 目标函数.(此部分转自 XGBoost 与 Boosted Tree) 一.模型和参数   模型指给定输入xi如何去 ...

  5. Synchronize深入

    前言:    synchronize会使用,但是对于深层次的知识,不是很清楚,故整理一篇博客. 简介:   能够保证在同一时刻,最多只有一个线程执行该端代码,以达到保证并发安全效果. 两种用法: 对象 ...

  6. EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案-Onvif(三)使用Onvif协议进行设备PTZ云台控制

    背景分析 熟悉EasyNVR产品的盆友们应该都知道,EasyNVR主要完成的是RTSP视频流到RTMP/HLS/Flv的转码,并提供了一套api和一个可视化管理平台来便于调用.同时支持ONVIF协议进 ...

  7. Ubuntu上使用Docker打包镜像

    关于这个一开始会有点懵,直白一点就是,把本地路径下的代码放到docker里面去,然后在docker这个隔离环境中运行调用我们的程序.专业解释请自行检索学习. 第一步:创建容器 docker run - ...

  8. perl oneline

    可参考博客:http://blog.csdn.net/carzyer/article/details/5117429 Perl常用命令行参数概览 -e 指定字符串以作为脚本(多个字符串迭加)执行 -M ...

  9. python的传参数用法

    #!/usr/bin/python #导入sys模块 import sys print("the first argv:",sys.argv[0],"\n") ...

  10. html遮罩层实现

    html文件内容如下 <!--调出子窗口按钮--> <button class="add" onclick="addClick();"> ...