1、hive中控制并行执行的参数有如下几个:

$ bin/hive -e set | grep parall

hive.exec.parallel=false

hive.exec.parallel.thread.number=8

hive.stats.map.parallelism=1

其中:hive.exec.parallel=false、hive.exec.parallel.thread.number=8分别控制着hive并行执行的特性。hive.exec.parallel=false表示默认没有启用并行参数,可以将其设置为true,在执行作业前进行session级别设置;hive.exec.parallel.thread.number=8表示每个SQL执行并行的线程最大值,默认是8.

例如:

set hive.exec.parallel=true;

set hive.exec.parallel.thread.number=8;

select deptno,count(1) from emp group by deptno

union all

select deptno ,count(1) from emp group by deptno;

上面这个SQL的执行既可以启动并行,既可以同时执行不相关任务,而不需要一步一步顺序执行。

2、注意点:在hadoop上自行mapreduce任务数是有限制的,针对于集群资源充足的情况,并行自行可以很大程度提高性能,但如果集群资源本身就很紧张,那么并行并不能启动有效效果。

一个可能的hive作业设置为:

set mapred.max.split.size=100000000;
set mapred.min.split.size.per.node=100000000;
set mapred.min.split.size.per.rack=100000000;
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;

set hive.exec.reducers.bytes.per.reducer=1000000000;

set hive.exec.reducers.max=256;

set hive.merge.mapfiles=true;

set hive.merge.mapredfiles =ture;

set hive.merge.size.per.task=256000000;

set hive.merge.smallfiles.avgsize=16000000;

set hive.exec.compress.intermediate=true;

set mapred.map.output.compression.codec= org.apache.hadoop.io.compress.SnappyCodec;

set hive.exec.compress.output=true;

set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

set hive.exec.parallel=true;

set hive.exec.parallel.thread.number=8;

select deptno,count(1) from emp group by deptno

union all

select deptno ,count(1) from emp group by deptno;

hive优化,并行查询的更多相关文章

  1. Hive 12、Hive优化

    要点:优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜. 理解hadoop的核心能力,是hive优化的根本. 长期观察hadoop处理数据的过程,有几个显著的特征: 1. ...

  2. 大数据技术之_08_Hive学习_04_压缩和存储(Hive高级)+ 企业级调优(Hive优化)

    第8章 压缩和存储(Hive高级)8.1 Hadoop源码编译支持Snappy压缩8.1.1 资源准备8.1.2 jar包安装8.1.3 编译源码8.2 Hadoop压缩配置8.2.1 MR支持的压缩 ...

  3. Hive和并行数据仓库的比较

    最近分析和比较了Hive和并行数据仓库的架构,本文记下一些体会. Hive是架构在Hadoop MapReduce Framework之上的开源数据分析系统. Hive具有如下特点: 1. 数据以HD ...

  4. 【转】Hive优化总结

    优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜. 理解Hadoop的核心能力,是hive优化的根本.这是这一年来,项目组所有成员宝贵的经验总结.   长期观察hadoo ...

  5. hive学习(八)hive优化

    Hive 优化 1.核心思想: 把Hive SQL 当做Mapreduce程序去优化 以下SQL不会转为Mapreduce来执行 select仅查询本表字段 where仅对本表字段做条件过滤   Ex ...

  6. Hive优化(整理版)

    1. 概述 1.1 hive的特征: 可以通过SQL轻松访问数据的工具,从而实现数据仓库任务,如提取/转换/加载(ETL),报告和数据分析: 它可以使已经存储的数据结构化: 可以直接访问存储在Apac ...

  7. Hive优化(十一)

    Hive优化 ​ Hive的存储层依托于HDFS,Hive的计算层依托于MapReduce,一般Hive的执行效率主要取决于SQL语句的执行效率,因此,Hive的优化的核心思想是MapReduce的优 ...

  8. (hive)hive优化(转载)

    1. 概述 1.1 hive的特征: 可以通过SQL轻松访问数据的工具,从而实现数据仓库任务,如提取/转换/加载(ETL),报告和数据分析: 它可以使已经存储的数据结构化: 可以直接访问存储在Apac ...

  9. HIVE优化学习笔记

    概述 之前写过关于hive的已经有两篇随笔了,但是作者依然还是一枚小白,现在把那些杂七杂八的总结一下,供以后查阅和总结.今天的文章介绍一下hive的优化.hive是好多公司都在使用的东西,也有好多大公 ...

  10. Hive优化(面试宝典)(详细的九个优化)

    Hive优化(面试宝典) 1.1 hive的随机抓取策略 理论上来说,Hive中的所有sql都需要进行mapreduce,但是hive的抓取策略帮我们 省略掉了这个过程,把切片split的过程提前帮我 ...

随机推荐

  1. QueryList::Query() The received content is empty!的经准灵活解决办法

    QueryList::Query() The received content is empty! 最近因为项目问题出现The received content is empty!,我也有过在网上寻找 ...

  2. 02 File类的方法练习——遍历文件夹

    思路 需要遍历的文件夹 File 使用listFile列出下级文件及文件夹 判断得到的list是否为空,为空则输出当前文件夹名称 如果不为空,逐个判断是文件还是文件夹 如果是文件,输出文件名 如果是文 ...

  3. go 实现简单的http web服务

    package main import ( "fmt" "net/http" ) func hello(w http.ResponseWriter, r *ht ...

  4. show processlist说明

    mysql> show processlist; 有时候输出太多,可以用下面的语句代替 mysql> select * from information_schema.processlis ...

  5. Android--圆角背景style

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...

  6. 如何自定义xml文件

    在定义文件之前,首先要弄清楚什么是xml文件和dtd文件. 一:什么是xml文件? xml是一种可扩展标记性语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有构造性的标记语言. 二:什么事d ...

  7. java redisUtils工具类很全

    GitHub地址:https://github.com/whvcse/RedisUtil redisUtils工具类: package com.citydo.utils; import org.spr ...

  8. springboot中将日志信息存放在catalina.base中

    <?xml version="1.0" encoding="UTF-8"?> <configuration debug="true& ...

  9. Ubuntu下添加定时任务执行php文件

    //添加自动下载定时任务1. vim /etc/crontab2. 添加 #每5分钟执行一次*/5 * * * * root /usr/bin/php /home/wwwroot/123.php3. ...

  10. CSS选取第一个、最后一个、偶数、奇数、第n个标签元素

    1.first-child first-child表示选择列表中的第一个标签.例如:li:first-child{background:#fff} 2.last-child last-child表示选 ...