`
superlxw1234
  • 浏览: 542179 次
  • 性别: Icon_minigender_1
  • 来自: 西安
博客专栏
Bd1c0a0c-379a-31a8-a3b1-e6401e2f1523
Hive入门
浏览量:43171
社区版块
存档分类
最新评论

hive并行执行job

    博客分类:
  • hive
阅读更多

用过oracle rac的应该都知道parallel的用途。

并行执行的确可以大的加快任务的执行速率,但不会减少其占用的资源。

在hive中也有并行执行的选项。

 

 

set hive.exec.parallel=true;   //打开任务并行执行

 

set hive.exec.parallel.thread.number=16; //同一个sql允许最大并行度,默认为8。

 

对于同一个SQL产生的JOB,如果不存在依赖的情况下,将会并行启动JOB,

比如:

 

from (
select phone,to_phone, substr(to_phone,-1) as key
from youni_contact4_lxw 
where youni_id='1' 
and length(to_phone) = 11 
and  substr(to_phone,1,2) IN ('13','14','15','18') 
group by phone,to_phone, substr(to_phone,-1) 
) t
insert overwrite table youni_contact41_lxw partition(pt='0')
select phone,to_phone where key='0'
insert overwrite table youni_contact41_lxw partition(pt='1')
select phone,to_phone where key='1'
insert overwrite table youni_contact41_lxw partition(pt='2')
select phone,to_phone where key='2'
insert overwrite table youni_contact41_lxw partition(pt='3')
select phone,to_phone where key='3'
insert overwrite table youni_contact41_lxw partition(pt='4')
select phone,to_phone where key='4'
insert overwrite table youni_contact41_lxw partition(pt='5')
select phone,to_phone where key='5'
insert overwrite table youni_contact41_lxw partition(pt='6')
select phone,to_phone where key='6'
insert overwrite table youni_contact41_lxw partition(pt='7')
select phone,to_phone where key='7'
insert overwrite table youni_contact41_lxw partition(pt='8')
select phone,to_phone where key='8'
insert overwrite table youni_contact41_lxw partition(pt='9')
select phone,to_phone where key='9';

 

该SQL产生11个job,第一个job为生成临时表的job,后续job都依赖它,这时不会有并行启动,

第一个job完成后,后续的job都会并行启动。

 

 

运行时间比较:

 

不启用并行:35分钟

启用8个并行:10分钟

启用16个并行:6分钟

 

当然,得是在系统资源比较空闲的时候才有优势,否则,没资源,并行也起不来。

 

 更多大数据Hadoop、Spark、Hive的文章,请关注 我的博客

 

 

 

0
0
分享到:
评论

相关推荐

    hive执行计划可视化工具

    hive执行计划可视化工具

    Hive优化以及执行原理

    Hive优化以及执行原理,一位前辈总结的hive知识,个人觉得非常有用,资源难找,现在贡献给大家,独乐乐不如众乐乐。

    hive Windows 可执行文件

    windows平台下,hive可执行文件,完全没有问题,可以使用。 将这个bin目录覆盖hive原有的bin目录即可

    HiveSQL执行计划详解.pdf

    HiveSQL执行计划详解.pdf

    Hive 优化以及执行原理

    hive调优总结,网络上分享的hive常见优化细节,这是一个前辈的总结,个人觉得,总结得相当到位和详细

    hive.sql执行文件.rar

    hiveSQL执行文件

    hive_windows可执行文件

    windows下hive可执行文件,下载解压后替换hive安装目录 下的bin目录即可

    hive

    hive hive hive hive hive hive hive hive hive hive hive hive

    windows下安装hive2.3.3缺少的可执行文件

    windows10下安装hive2.3.3的时候,无法执行hive命令,原因是官方下载文件中缺少可执行文件(好多个cmd文件),安装的时候无法执行成功。下载后,解压替换hive的bin目录即可执行成功。

    hadoop教程Hive执行过程

    hive执行过程,便于初学者尽快掌握hive开发所需知识和技能。

    hive-exec-2.1.1.jar

    hive-exec-2.1.1 是 Apache Hive 的一部分,特别是与 Hive 的执行引擎相关的组件。Apache Hive 是一个构建在 Hadoop 之上的数据仓库基础设施,它允许用户以 SQL(结构化查询语言)的形式查询和管理大型数据集。Hive ...

    Hive3.1.2编译源码

    使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...

    hive-jdbc hive jdbc驱动

    hive-jdbc

    Hive用户指南(Hive_user_guide)_中文版.pdf

    入, Hive 可以并行访问数据,因此即使没有索引,对于大数据量的访问, Hive 仍然 可以体现出优势。数据库中,通常会针对一个或者几个列建立索引,因此对于少量的特 定条件的数据的访问,数据库可以有很高的效率,...

    Hive使用手册Hive使用手册

    1 Hive 概念与连接使用: 2 2 Hive支持的数据类型: 2 2.1原子数据类型: 2 2.2复杂数据类型: 2 2.3 Hive类型转换: 3 3 Hive创建/删除数据库 3 3.1创建数据库: 3 3.2 删除数据库: 3 4 Hive 表相关语句 3 4.1 Hive ...

    Hive表生成工具,Hive表生成工具Hive表生成工具

    Hive表生成工具,Hive表生成工具Hive表生成工具

    hive-3.1.1安装包

    Hive也不是分布式计算框架,Hive的核心工作就是把sql语句翻译成MR程序去执行,不用我们再手动去写MapReduce了。 Hive也不提供资源调度系统,默认由Hadoop集群中的YARN集群来调度。 Hive可以将结构化的数据映射为...

    Hive实现并发

    hive实现并发机制:hive里,同一sql里,会涉及到n个job,默认情况下,每个job是顺序执行的。 如果每个job没有前后依赖关系,可以并发执行的话,可以通过设置该参数 set hive.exec.parallel=true,实现job并发执行...

Global site tag (gtag.js) - Google Analytics