本申请涉及计算机软件领域,尤其涉及一种数据湖仓处理加速的方法、系统及设备。
背景技术:
1、大数据领域,数据湖和数据仓库两种技术的融合趋势越来越明显,出现了湖仓一体(数据湖仓)的系统架构。
2、现有的数据湖仓产品,采用了缓存、索引(包括物化视图)和向量化执行等技术加速查询执行速度。但这些技术或产品往往只能解决企业的单点问题,例如只解决i/o时延问题,不能同时解决查询加速的问题。或者对现有系统做侵入式的改造加速查询执行速度,但是这些改造技术的上线和下线,会对业务有比较大的影响。例如alluxio只能解决缓存的问题,其上线以后,与原有的底层存储不兼容,文件路径全部要进行更改。
技术实现思路
1、为至少在一定程度上克服相关技术中对数据湖仓进行加速查询执行速度时,无法同时实现多种加速能力,且对现有系统做侵入式的改造具有不兼容的问题,本申请提供一种数据湖仓处理加速的方法、系统及设备。
2、本申请的方案如下:
3、根据本申请实施例的第一方面,提供一种数据湖仓处理加速的方法,包括:
4、获取预先架构的主引擎和副引擎的性能统计信息;所述主引擎和所述副引擎搭载在不同的处理器上,且所述主引擎通过协处理器将接口注册在所述副引擎的功能模块中;
5、通过所述性能统计信息监控所述主引擎中的i/o(input/output,输入/输出)热点或计算热点;
6、在监控到所述主引擎中的i/o热点或计算热点时,在所述副引擎上执行i/o重定向或计算重定向。
7、优选地,所述i/o重定向,包括:
8、将所述主引擎中的i/o重定向到副引擎,以使所述副引擎代替所述主引擎执行数据访问功能。
9、优选地,进行i/o重定向前,所述方法还包括:
10、将所述主引擎中的主要数据进行预计算、抽取,以在存储节点中生成所述主要数据对应的附加数据;所述附加数据作为所述副引擎执行数据访问功能时的缓存与索引数据。
11、优选地,所述计算重定向,包括:
12、确定主引擎原执行计划中的计算热点对应的热点算子;
13、将主引擎原执行计划中的热点算子转移到副引擎中并替换为更新算子;
14、生成更新执行计划,所述更新执行计划包括主引擎中的本地执行计划和副引擎中的远程执行计划;
15、将所述更新执行计划在所述主引擎和所述副引擎上进行分布式执行。
16、优选地,所述方法还包括:
17、在所述副引擎中生成与所述更新算子配套的输入算子和输出算子;
18、所述本地执行计划和所述远程执行计划通过所述输入算子和输出算子进行连接;所述输入算子用于接收所述主引擎的数据输入;所述输出算子用于向所述主引擎进行数据输出。
19、优选地,所述本地执行计划包括:执行主引擎原执行计划中除热点算子外的剩余算子;
20、所述远程执行计划包括:
21、执行副引擎中的更新算子、输入算子和输出算子。
22、优选地,所述副引擎的功能模块至少包括:索引、缓存、算子加速和udf(userdefined function,用户自定义函数)加速。
23、优选地,所述主引擎搭载在通用处理器上;
24、所述副引擎搭载在专用加速处理器上。
25、根据本申请实施例的第二方面,提供一种数据湖仓处理加速的系统,包括:
26、主引擎、副引擎和引擎调度模块;
27、所述主引擎和所述副引擎搭载在不同的处理器上,且所述主引擎通过协处理器将接口注册在所述副引擎的功能模块中;
28、所述引擎调度模块分别连接所述主引擎和所述副引擎;
29、所述引擎调度模块获取主引擎和副引擎的性能统计信息;通过所述性能统计信息监控所述主引擎中的i/o热点或计算热点;在监控到所述主引擎中的i/o热点或计算热点时,在所述副引擎上执行i/o重定向或计算重定向。
30、根据本申请实施例的第三方面,提供一种数据湖仓处理加速的设备,包括:
31、处理器和存储器;
32、所述处理器与存储器通过通信总线相连接:
33、其中,所述处理器,用于调用并执行所述存储器中存储的程序;
34、所述存储器,用于存储程序,所述程序至少用于执行如以上任一项所述的一种数据湖仓处理加速的方法。
35、本申请提供的技术方案可以包括以下有益效果:本申请中的数据湖仓处理加速的方法,包括:获取预先架构的主引擎和副引擎的性能统计信息;主引擎和副引擎搭载在不同的处理器上,且主引擎通过协处理器将接口注册在副引擎的功能模块中;通过性能统计信息监控主引擎中的i/o热点或计算热点;在监控到主引擎中的i/o热点或计算热点时,在副引擎上执行i/o重定向或计算重定向。本技术方案中,主引擎可运行于通用的处理器硬件,副引擎可运行于专用的处理器硬件上,主引擎通过协处理器将接口注册在副引擎的功能模块中,副引擎作为加速引擎为主引擎上提供多种加速能力。且主引擎通过协处理器将接口注册在副引擎的功能模块中,通过非侵入式整合实现了主引擎的功能扩展,副引擎兼容主引擎的接口,对主引擎原有功能不做修改,不增加用户的开发成本和学习成本。
36、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种数据湖仓处理加速的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述i/o重定向,包括:
3.根据权利要求2所述的方法,其特征在于,进行i/o重定向前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述计算重定向,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述本地执行计划包括:执行主引擎原执行计划中除热点算子外的剩余算子;
7.根据权利要求1所述的方法,其特征在于,所述副引擎的功能模块至少包括:索引、缓存、算子加速和udf加速。
8.根据权利要求1所述的方法,其特征在于,所述主引擎搭载在通用处理器上;
9.一种数据湖仓处理加速的系统,其特征在于,包括:
10.一种数据湖仓处理加速的设备,其特征在于,包括: