买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:浙江大学
摘要:本发明公开了一种面向SparkSQL的智能查询优化方法及系统,方法包括:获取已运行查询的基数信息,根据基数信息构建成本比较器和基数比较器模型的训练数据集;提取训练数据集的特征,并分别训练成本比较器和基数比较器的网络模型;输入查询,通过束搜索算法与递归搜索自底向上地生成候选执行计划,并使用成本比较器模型得到成本最低的执行计划;使用基数比较器模型为执行计划中的连接操作选择具体的连接方式,得到可供SparkSQL运行的最终执行计划。本发明能够高效生成低成本的执行计划,减少查询中连接操作的数据量,从而极大地降低查询时间,优化查询性能。
主权项:1.一种面向SparkSQL的智能查询优化方法,包括如下步骤:1获取大量已运行查询的基数信息,每条基数信息包含查询的执行计划、输出行数以及执行完成时间;2根据所述基数信息,构建成本比较器模型和基数比较器模型各自的训练数据集;3对训练数据集进行特征提取,以特征作为输入,分别对成本比较器模型和基数比较器模型进行训练;对训练数据集进行特征提取,即是对训练数据集每一条样本数据中的执行计划进行特征提取;对于任一执行计划,提取其树结构中每一顶点关于逻辑运算符、表格、表格行数、过滤条件的四组特征,将这四组特征拼接起来得到顶点的特征,进而将树结构中所有顶点的特征组合起来即作为执行计划的特征;其中顶点的逻辑运算符特征为该顶点逻辑运算符的独热编码,顶点的表格行数特征为rc为顶点所涉及表格的行数;顶点的过滤条件特征由关于操作列、操作符、操作数、列的数据分布直方图、谓词选择率的五组特征拼接得到;4对于输入的查询,通过束搜索算法与递归搜索自底向上地生成候选执行计划,使用成本比较器模型从中提取出成本最低的一个完整执行计划P,具体实现方式如下:4.1初始化子计划集合,集合中的每一子计划即从输入查询的所有表中任取两张表进行连接操作生成得到;4.2对于集合中的任一子计划,通过递归搜索得到包含该子计划的完整执行计划;4.3对于集合中的任一子计划,从输入查询的所有表中任取一张不属于该子计划的新表,将该子计划与新表进行连接操作得到新的子计划;4.4对于所有新的子计划,利用成本比较器模型从中选取若干个子计划组成新的子计划集合;4.5重复步骤4.2~4.4,直至集合中的子计划均包含输入查询的所有表,成为完整执行计划;新建一个全局列表,将最终集合中的完整执行计划以及每次步骤4.2搜索得到的完整执行计划添加到全局列表中,利用成本比较器模型从全局列表中选取成本最低的一个完整执行计划P;5使用基数比较器模型为完整执行计划P中的每个连接操作选择具体的连接方式,从而得到供SparkSQL运行的最终执行计划,具体地:首先对于完整执行计划P中的每一个子计划,判断其输出能否被广播;然后对于完整执行计划P中的任一连接操作,其两端只要有一个子计划的输出能被广播,则为该连接操作指定使用广播连接方式;否则,不为该连接操作指定连接方式,而由SparkSQL原生优化器来指定。
全文数据:
权利要求:
百度查询: 浙江大学 一种面向Spark SQL的智能查询优化方法及系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。