[发明专利]基于Hive的并行执行任务方法及装置有效
申请号: | 201410182326.0 | 申请日: | 2014-04-30 |
公开(公告)号: | CN103942099B | 公开(公告)日: | 2017-11-28 |
发明(设计)人: | 张永亮 | 申请(专利权)人: | 广州唯品会网络技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F17/30 |
代理公司: | 广州市越秀区哲力专利商标事务所(普通合伙)44288 | 代理人: | 汤喜友 |
地址: | 510370 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hive 并行 执行 任务 方法 装置 | ||
技术领域
本发明涉及计算机通信技术,具体涉及Hive数据处理技术。
背景技术
移动互联网的快速发展,使得用户产生和应用的数据呈现飞速增长的趋势,海量数据的出现和数据结构的改变,给电信行业运营商管理和分析处理数据带来了巨大的挑战。传统基于关系型数据库的处理方法已经无法有效地存储和处理日益增长和新型的业务数据,Hadoop分布式技术的发展为解决上述问题提供了技术手段。
Hadoop是Apache组织管理的一个开源项目,是基于Google云计算理论Big Table、MapReduce和GFS的软件实现。Hadoop可以使用户在不了解底层细节的情况下开发MapReduce程序,并在价格低廉的商用集群上进行运算和存储,具有可扩展、高容错、经济、可靠、高效等优点。Hadoop的核心组件由两个部分:分布式文件系统(HDFS)和分布式计算模型MapReduce。HDFS是Hadoop的旗舰级文件系统,它以流式数据访问模式来存储超大文件,运行于商用硬件集群上;MapReduce是一个编程模型,用以进行稳定、高效、超大数据量的分析计算。
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。
具体的,MapReduce框架是主从结构的。MapReduce运行时,主机(master)启动一个JobTracker(任务调度)进程,用于任务调度。从机(slave)启动数个JobTracker进程,作为运算实体。JobTracker的主要职责就是启动、跟踪和调度各个从机的任务执行,JobTracker中存储着任务状态信息。
目前的Hive引擎的执行方式有以下两种:
1. 将所有语句拼在一起,再由Hive顺序执行,方法如下:
Hive -e <your-query>;
示例:
Hive-e “use temp; drop tale platform_uv_test; create table platform_uv_test … …”。
2. 将脚本写入一个文件,由Hive顺序读入并执行,方法如下
Hive -f <脚本名>;
示例: Hive -f test1.sql
其中test1.sql 中的内容是实际执行的Hive代码,示例如下:
Use temp;
Drop table platform_uv_test;
Create table platform_uv_test(log_date string, uv bigint) partitioned by (platform string);
……
可见,上述两种执行方式都是顺序执行。
上述两种执行方式无论采用哪一种,Hive SQL都必须逐条执行,即使各条SQL之间互不关联,也无法并行。这样既影响任务的整体执行效率,也不能充分利用Hadoop庞大的系统资源。
发明内容
本发明的目的在于提出一种基于Hive的并行执行任务方法,其能解决传统的Hive仅能串行执行任务的问题。
为了达到上述目的,本发明所采用的技术方案如下:
基于Hive的并行执行任务方法,其包括以下步骤:
步骤1、运行Hive脚本,所述Hive脚本中具有多条代码段;
步骤2、识别出流程控制标签的顺序标记,所述流程控制标签位于所述Hive脚本中,并且每一个流程控制标签与对应的一代码段关联;
步骤3、将所有顺序标记进行比对,以得到代码段的执行顺序;
步骤4、根据所述执行顺序执行代码段,其中,对顺序标记相同的代码段进行并行执行。
优选的,步骤1和步骤2之间还有以下步骤:
判断所述Hive脚本中存在启动执行命令还是模拟执行命令,若为启动执行命令,则对步骤2至步骤4进行启动执行;若为模拟执行命令,则对步骤2至步骤4进行模拟执行,并生成执行结果。
优选的,步骤4之后还有以下步骤:
对每条代码段进行唯一标识,并将每条代码段的执行进度于一显示界面上进行显示,其中,所述唯一标识至少包括所述Hive脚本的脚本名称、与顺序标记对应的顺序号以及与顺序标记对应的代码段的子任务标识。
进一步优选的,所述显示界面为Hadoop的jobTracker显示页面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州唯品会网络技术有限公司,未经广州唯品会网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410182326.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于联合收割机的导轨
- 下一篇:过滤式可调减压阀