[发明专利]基于MapReduce扩展框架的分布式SQL查询方法有效
申请号: | 201210209080.2 | 申请日: | 2012-06-19 |
公开(公告)号: | CN102799622A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 王衎;高军;王腾蛟;杨冬青;唐世渭 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mapreduce 扩展 框架 分布式 sql 查询 方法 | ||
1.一种基于MapReduce扩展框架的分布式SQL查询方法,其步骤为:
1)客户端发送查询请求到查询服务器模块QueryServer,所述查询服务器模块包括:SQL查询接口、SLQ解析模块和动态选择模块;
2)所述SQL查询接口接收到查询请求,将所述请求发送到SQL解析模块,所述解析模块解析得到查询请求的语义;
3)所述动态选择模块根据查询代价模型Cost Model和语义规则对该查询语义进行计算,预测出查询结果需要的存储空间,并选择MapReduce查询方式或内存查询方式;
3-1)查询方式为MapReduce查询时,Job Tracker启动执行Map操作和Reduce操作;
3-2)当查询方式为内存查询时,Job Tracker启动Map操作,并将查询数据保存至本地服务器的内存表中;
4)当查询结束,将本地查询结果上传至HDFS或数据处理服务器模块Data Processor。
2.如权利要求1所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,所述扩展框架基于内存表构架,建立由查询服务器模块启动并管理的数据处理服务器模块,所述数据处理服务模块用于内存查询方式中与每一个map任务连接,收集map任务查询结果并进行处理和输出。
3.如权利要求1所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,Map操作和数据处理服务器模块Data Processor使用Hadoop RPC接口连接,通过设置传输阈值控制每次传输的数据块大小。
4.如权利要求1所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,所述SQL查询接口面向用户提供接口通过socket实现,用于接收和返回客户端查询请求。
5.如权利要求1所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,所述SQL解析模块通过antlr工具实现,所述antlr根据用户提供的语法文件,生成对应的语法分析器。
6.如权利要求5所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,所述SQL解析模块解析得到查询请求的语义,形成语法树;所述语法树是以SQL查询中符号和操作符为节点的树。
7.如权利要求6所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,遍历所述语法树,并根据元组数据Meta Data的信息,得到查询语义。
8.如权利要求1所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,所述建立查询代价模型相关参数信息根据元组数据Meta Data、查询语句本身或者查询的历史记录中取得,包括:表的模式信息、表中每列的平均数据大小、表中记录的数量、表中每一列的数据分布情况、查询条件。
9.如权利要求1所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,所述语义规则的动态选择方法根据查询的种类、表的数据量信息来判断查询的执行方式。
10.如权利要求1所述的基于MapReduce扩展框架的分布式SQL查询方法,其特征在于,在内存查询时可通过MapScan扫描方法对数据进行查询,将结果直接输入到内存表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210209080.2/1.html,转载请声明来源钻瓜专利网。