[发明专利]一种基于SQL的MapReduce作业生成方法及系统有效
申请号: | 201310729051.3 | 申请日: | 2013-12-25 |
公开(公告)号: | CN103761080B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 李林;韩洪林;曹津;赵明明;叶思菁;朱德海;张晓东;姚晓闯 | 申请(专利权)人: | 中国农业大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李迪 |
地址: | 100193 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于SQL的MapReduce作业生成方法及系统,该方法包括,解析接收到的SQL语句,生成抽象语法树;转化所述抽象语法树为查询计划树;优化所述查询计划树;根据优化后的查询计划树生成对应的MapReduce作业,该系统基于Antlr工具对SQL语句生成抽象语法树AST,并进一步基于AST生成一种查询计划树结构,最终在查询计划树的基础上生成MapReduce作业,同时还提供了相应的优化策略,以确保生成的MapReduce作业拥有更高的执行效率。 | ||
搜索关键词: | 一种 基于 sql mapreduce 作业 生成 方法 系统 | ||
【主权项】:
一种基于SQL的MapReduce作业生成方法,其特征在于,包括:解析接收到的SQL语句,生成抽象语法树;转化所述抽象语法树为查询计划树;优化所述查询计划树;根据优化后的查询计划树生成对应的MapReduce作业;所述转化所述抽象语法树为查询计划树,具体包括:获取所述抽象语法树;转化所述抽象语法树为由抽象类节点组成的中间树;根据所述中间树生成对应的查询计划树;所述根据优化后的查询计划树的每个节点,分别生成对应的MapReduce作业,具体包括:生成Map作业;生成Reduce作业;所述生成Map作业,包括:源数据的筛选:对于输入的数据,根据TableNode中列信息,筛选出指定的数据列对应的数据,其中,所述TableNode为组成所述中间树的节点中的数据表节点;数据的过滤:根据WhereNode中的where中的相关信息,对输入的数据进行过滤,其中,所述WhereNode为组成所述中间树的节点中的筛选表节点;数据的输出:将过滤后的数据输出;所述生成Reduce作业,包括:数据的聚合:根据TableNode中存储的针对列的聚合信息,对列进行聚合;数据的筛选:根据Having后面的限定条件,对聚合后的数据进行再次过滤;数据的连接Join:将两张表具有Join关系的表,根据Where子句中指定的关联项,关联起来,合成一张表,将这张表作为临时表,与接下来的表继续进行Join操作;结果的输出:以NULL为Key,将Join后的数据作为Value输出到指定的位置。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业大学,未经中国农业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310729051.3/,转载请声明来源钻瓜专利网。
- 上一篇:具有带集成横向特征的复合电极的声共振器
- 下一篇:一种防吸湿镁煅白的制备方法