Hive性能优化【核心思想、运行模式、并行计算】
一.核心思想
把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性能优化【核心思想、运行模式、并行计算】的更多相关文章
- 读《SQL优化核心思想》:你不知道的优化技巧
SQL性能问题已经逐步发展成为数据库性能的首要问题,80%的数据库性能问题都是因SQL而导致. 1.1 基数(CARDINALITY) 某个列唯一键(Distinct_Keys)的数量叫作基数.比如性 ...
- Hive性能优化
1.概述 继续<那些年使用Hive踩过的坑>一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题.下面开始本篇文章的优化介绍. 2.介绍 首先 ...
- Hive性能优化上的一些总结
https://blog.csdn.net/mrlevo520/article/details/76339075 1.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题? 数据 ...
- Hive性能优化(全面)
1.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题? 数据量大不是问题,数据倾斜是个问题. jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次 ...
- WEB开发性能优化--核心定义介绍篇(1)
推荐理由 随着 互联网的蓬勃发展,并且伴随着产品功能的越来越复杂,对于技术人员来说最大的挑战就是如何在保证业务快速发展的同时,也可保证不断复杂的业务对用户体验的影响,其中对用户来说最重要的体验指标是如 ...
- 转:Hive性能优化之ORC索引–Row Group Index vs Bloom Filter Index
之前的文章<更高的压缩比,更好的性能–使用ORC文件格式优化Hive>中介绍了Hive的ORC文件格式,它不但有着很高的压缩比,节省存储和计算资源之外,还通过一个内置的轻量级索引,提升查询 ...
- Hive性能优化【严格模式、join优化、Map-Side聚合、JVM重用】
一.严格模式 通过设置以下参数开启严格模式: >set hive.mapred.mode=strict;[默认为nonstrict非严格模式] 查询限制: 1.对于分区表,必须添加where查询 ...
- Hive性能优化--map数和reduce数
转自http://superlxw1234.iteye.com/blog/1582880 一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多 ...
- [iOS Animation]-CALayer 性能优化
性能优化 代码应该运行的尽量快,而不是更快 - 理查德 在第一和第二部分,我们了解了Core Animation提供的关于绘制和动画的一些特性.Core Animation功能和性能都非常强大,但如果 ...
随机推荐
- js 动态加载 jq
var script=document.createElement("script"); script.type="text/javascript"; scri ...
- es查询示例
1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsearch(["localhost:9200"]) 2. ...
- ELK 部署相关问题汇总
1.启动es-head问题 因为高版本es-head需要单独启动,所以先要安装npm等工具.安装教程见[1] 启动命令:../elasticsearch-head/node_modules/grunt ...
- GraphQL漏洞案例之获取Facebook任意用户的朋友列表和部分支付卡详细信息
Facebook有一个GraphQL endpoint,只能由Facebook的某些应用程序使用.需要用户(或页面)access_token来查询GraphQL endpoint. 这里可以将Face ...
- System.Threading.Timer定时器使用注意事项
1.定时器不要直接在方法里面定义和赋值,因为方法执行完,方法体内的变量会被GC回收. 有时候我们将timer定义在了方法里面,然后看到timer被执行了几次之后才失效,原因就是GC不一定会立即回收. ...
- hbase 安装(集群模式)
环境:jdk 1.8 + hadoop2.7.6+zookeeper3.4.9+centos7 一.安装zookeeper(集群模式) 0.安装机器 ip ...
- 修改IP地址之后认证信息问题
$ ssh lvph@172.16.20.20 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOT ...
- Idea 目录结构下有红色波浪线
问题截图: 解决方案: Build -> Rebuild Project
- SQL Server 2000~2017补丁包
最新更新 Product Version Latest Service Pack Latest GDR Update Latest Cumulative Update CU Release Date ...
- windows系统转linux系统后磁盘的处理
背景: 原服务器是windows操作系统的.在没有进行格式化的情况下,重新安装了linux系统.比如centos7后,磁盘该怎么格式化?以下是演示过程. 1. 查看磁盘情况: # fdisk -l 2 ...