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. C++中深拷贝与浅拷贝

    浅拷贝和深拷贝 在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B.这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指 ...

  2. 利用strace & Perf分析MySQL

    strace介绍及用途 strace是一个用于诊断,分析linux用户态进程的工具 类似的工具pstrace,lsof,gdb,pstrack strace观察mysqld对my.cnf 配置文件的加 ...

  3. Python开发【第二章】:模块和运算符

    一.模块初识: Python有大量的模块,从而使得开发Python程序非常简洁.类库有包括三中: Python内部提供的模块 业内开源的模块 程序员自己开发的模块 1.Python内部提供一个 sys ...

  4. 题解-AtCoder ARC-078F Mole and Abandoned Mine

    problem ATC-arc078F 题意概要:给定一个 \(n\) 点 \(m\) 边简单无向图(无自环无重边),边有费用,现切去若干条边,使得从 \(1\) 到 \(n\) 有且仅有一条简单路径 ...

  5. PHP Math常量

    常量名 常量名 常量值 PHP M_E e 2.7182818284590452354 4 M_EULER Euler 常量 0.57721566490153286061 5.2.0 M_LNPI l ...

  6. sqlserver-order by offset fetch

    若要使用 OFFSET 和 FETCH 在查询请求之间获得稳定的结果,必须满足以下条件: 查询使用的基础数据不能发生变化. 即,不会更新查询处理的行,也不会在单个事务中使用快照或可序列化事务隔离执行查 ...

  7. 如何将SolidWorks文件另存为.obj文件及如何打开.obj格式文件

    原网站:http://fans.solidworks.com.cn/forum.php?mod=viewthread&tid=40238) OBJ文件是Alias Wavefront公司为它的 ...

  8. 3_PHP表达式_4_PHP运算符

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 3.4.1 算术运算符 <?php $num1 = -10; $num2 = -4; $num3 = $nu ...

  9. 在Windows上安装 Consul

    使用Chocolatey(Windows包管理工具)安装 官方安装说明 https://chocolatey.org/install 安装Consul 官方安装说明 https://chocolate ...

  10. Node.js 实战(一)之—优化汇总

    Express 页面缓存 app.set("cache view",true); --设置页面缓存 开发模式下博主建议不要这么做,因为开发中我们会频繁的对页面的样式.js等进行修改 ...