热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

hive并行执行job

用过oraclerac的应该都知道parallel的用途。并行执行的确可以大的加快任务的执行速率,但不会减少其占用的资源。在hive中也有并行执行的选项。sethive.exec.parall

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

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

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

 

 

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

 

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

 

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

比如:

 

Sql代码  收藏代码
  1. from (  
  2. select phone,to_phone, substr(to_phone,-1) as key  
  3. from youni_contact4_lxw   
  4. where youni_id='1'   
  5. and length(to_phone) = 11   
  6. and  substr(to_phone,1,2) IN ('13','14','15','18')   
  7. group by phone,to_phone, substr(to_phone,-1)   
  8. ) t  
  9. insert overwrite table youni_contact41_lxw partition(pt='0')  
  10. select phone,to_phone where key='0'  
  11. insert overwrite table youni_contact41_lxw partition(pt='1')  
  12. select phone,to_phone where key='1'  
  13. insert overwrite table youni_contact41_lxw partition(pt='2')  
  14. select phone,to_phone where key='2'  
  15. insert overwrite table youni_contact41_lxw partition(pt='3')  
  16. select phone,to_phone where key='3'  
  17. insert overwrite table youni_contact41_lxw partition(pt='4')  
  18. select phone,to_phone where key='4'  
  19. insert overwrite table youni_contact41_lxw partition(pt='5')  
  20. select phone,to_phone where key='5'  
  21. insert overwrite table youni_contact41_lxw partition(pt='6')  
  22. select phone,to_phone where key='6'  
  23. insert overwrite table youni_contact41_lxw partition(pt='7')  
  24. select phone,to_phone where key='7'  
  25. insert overwrite table youni_contact41_lxw partition(pt='8')  
  26. select phone,to_phone where key='8'  
  27. insert overwrite table youni_contact41_lxw partition(pt='9')  
  28. select phone,to_phone where key='9';  
 

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

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

 

 

运行时间比较:

 

不启用并行:35分钟

启用8个并行:10分钟

启用16个并行:6分钟

 

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


http://superlxw1234.iteye.com/blog/1703713
推荐阅读
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • Oracle 10g 和 11g 32位 OCI.DLL 文件下载
    32位 PL/SQL Developer 访问 64位 Oracle 11g 数据库时,需要使用 32位的 OCI.DLL 文件以确保正常连接和数据访问。本文将详细介绍如何获取并配置此文件。 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • 在运行于MS SQL Server 2005的.NET 2.0 Web应用中,我偶尔会遇到令人头疼的SQL死锁问题。过去,我们主要通过调整查询来解决这些问题,但这既耗时又不可靠。我希望能找到一种确定性的查询模式,确保从设计上彻底避免SQL死锁。 ... [详细]
  • 图数据库与传统数仓实现联邦查询使用CYPHER实现从关系数据库过滤时间序列指标一、MySQL得到研报实体在Oracle中的唯一ID二、Oracle中过滤时间序列数据三、CYPHER ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 本文讨论了在 Oracle 10gR2 和 Solaris 10 64-bit 环境下,从 XMLType 列中提取数据并插入到 VARCHAR2 列时遇到的性能问题,并提供了优化建议。 ... [详细]
  • 如何在不同数据库中提取前N%的记录
    本文详细介绍了如何在SQL Server、Oracle和MySQL等不同数据库中提取前N%的记录。通过具体的示例和代码,帮助读者理解和掌握这些方法。 ... [详细]
  • PGXC中的两阶段提交机制及其对事务一致性的保障
    PGXC作为一款基于PostgreSQL的分布式数据库系统,利用Sharding技术将数据分散存储于多个数据库实例中。本文探讨了PGXC的两阶段提交过程及其实现事务强一致性的方法。 ... [详细]
  • 探讨了在VB中使用WebBrowser控件时遇到的‘无法找到或打开C:\WINDOWS\system32\ieframe.dll’问题,并提供了解决方案。 ... [详细]
author-avatar
手机用户2502870941
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有