[发明专利]一种基于HQL的跨集群数据处理系统及方法有效
申请号: | 202110950767.0 | 申请日: | 2021-08-18 |
公开(公告)号: | CN113590651B | 公开(公告)日: | 2023-06-20 |
发明(设计)人: | 王守明 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/27;G06F16/22 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 林菲菲 |
地址: | 610000 四川省成都市中国(四川)自由*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hql 集群 数据处理系统 方法 | ||
1.一种基于HQL的跨集群数据处理系统,其特征在于,该系统包括客户端、计算引擎管理模块、集群管理模块、跨集群表管理模块;
所述客户端,用于将待查询的HQL语句发送到计算引擎管理模块,同时接收所述计算引擎管理模块查询的结果数据;
所述计算引擎管理模块,用于使用Hive引擎解析客户端发送过来的HQL语句,分析出HQL中的所用到的表、以及表所属的集群,实现本集群或跨集群计算;
所述集群管理模块,用于实时地获取所有集群的计算资源和存储资源,并计算出当前最空闲的集群,供所述计算引擎管理模块获取得到最空闲的集群来执行HQL语句;
所述跨集群表管理模块,用于管理和维护跨集群同步过来的表,即管理由非本集群同步到本集群的表;
所述计算引擎管理模块的执行过程具体包括:
使用Hive引擎解析客户端发送过来的HQL语句,解析该HQL语句的类型,HQL语句的类型包括DML类型、DDL类型;
如果解析出的HQL语句为DDL类型,那么继续解析该HQL语句所操作的对应集群,同时把HQL语句发送到对应的本集群去执行;
如果解析出的HQL语句为DML类型,那么继续解析该HQL语句为select语句还是非select语句;
若解析出来为select语句,则继续解析该HQL所涉及的表以及表所对应的集群,同时调用所述集群管理模块,查询出当前资源比较空闲的集群,同时把HQL语句发送到该集群执行;所述当前资源比较空闲的集群包括本集群或者非本集群;
若解析出来为非select语句,则继续解析要插入或者删除或更新表所在的集群,同时解析该HQL语句所涉及到的其他表以及表所属的集群;如果该HQL语句所涉及到的其他表以及表所属的集群,与要插入或者删除或更新表所在的集群均在本集群,那么在本集群执行,并把执行结果数据返回给客户端;如果该HQL语句所涉及到的其他表以及表所属的集群,与要插入或者删除或更新表所在的集群不在同一集群,那么采用跨集群同步方法进行处理,并把执行结果数据返回给客户端。
2.根据权利要求1所述的一种基于HQL的跨集群数据处理系统,其特征在于,所述集群管理模块,还用于对集群的配置属性信息进行维护管理。
3.根据权利要求2所述的一种基于HQL的跨集群数据处理系统,其特征在于,所述集群的配置属性信息包括集群名称、集群yarn地址信息、集群HiveThriftServer地址信息和集群hdfs的地址信息。
4.根据权利要求1所述的一种基于HQL的跨集群数据处理系统,其特征在于,若解析出来为非select语句,则继续解析要插入或者删除或更新表所在的集群,同时解析该HQL语句所涉及到的其他表以及表所属的集群;如果该HQL语句所涉及到的其他表以及表所属的集群,与要插入或者删除或更新表所在的集群不在同一集群,那么采用跨集群同步方法进行处理,并把执行结果数据返回给客户端;具体包括:
要插入或者删除或更新表所在的集群记作clusterA,该HQL语句所涉及到的其他表以及表所属的集群记作clusterB、其他表记作clusterB.D.t;
获取表clusterB.D.t的建表语句和所在的HDFS路径,记作路径为path001,同时在集群clusterA中创建与表clusterB.D.t对应的hive表clusterA.D.t;在集群clusterA中使用discp命令从集群clusterB中复制path001到tmp/path001目录,使用load命令将集群cluserA中
/tmp/path001的数据加载到新建的hive表clusterA.D.t中;并在集群clusterA中执行该非select语句,并将执行的结果发送到客户端,同时删除集群clusterA中的hive表clusterA.D.t。
5.根据权利要求1所述的一种基于HQL的跨集群数据处理系统,其特征在于,所述计算引擎管理模块在执行使用Hive引擎解析客户端发送过来的HQL语句,解析出该HQL语句的类型之前还执行如下:
使用Antlr4技术框架分析客户端发送过来的HQL语句的语法是否正确,若HQL语句的语法正确,则执行解析该HQL语句的类型;若HQL语句的语法错误,则将错误信息返回给客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110950767.0/1.html,转载请声明来源钻瓜专利网。