[发明专利]基于SQL的数据处理方法、装置和设备在审
| 申请号: | 202011610689.1 | 申请日: | 2020-12-30 |
| 公开(公告)号: | CN112632170A | 公开(公告)日: | 2021-04-09 |
| 发明(设计)人: | 秦瑞 | 申请(专利权)人: | 上海中通吉网络技术有限公司 |
| 主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/28 |
| 代理公司: | 北京细软智谷知识产权代理有限责任公司 11471 | 代理人: | 葛钟 |
| 地址: | 201799 上*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 sql 数据处理 方法 装置 设备 | ||
本发明涉及一种基于SQL的数据处理方法、装置和设备,方法包括获取用户编写的抽数SQL,以及,从元数据库中调取预先创建的Hive表和HBase虚表;HBase虚表用于映射HBase实体表;在Calcite中,结合抽数SQL、HBase虚表、Hive表,生成物理执行计划,并将物理执行计划发送到Hadoop Yarn;利用Yarn调度物理执行计划,读取HBase实体表中的数据写入Hive表中。抽取数据不经过HBase Region Server,避免对HBase服务造成压力,用户只需要在调度平台编写一个简单的抽数SQL,节约了人力成本,有效提高了HBase数据库中的数据导入到Hive数据库的效率。
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于SQL的数据处理方法、装置和设备。
背景技术
在数据处理的过程中,需要频繁的将HBase数据库中的数据导入到Hive数据库中。现有技术中,一般是通过要手动建立对应HBase表的Hive外部表,或者,使用HBaseSnapshot来实现。
但是,手动建立对应HBase表的Hive外部表,不仅操作冗余低效,而且Hive外部表需要对HBase的全表扫描,产生大量对HBase Region Server的请求,导致任务执行期间服务器负载过高;使用HBase Snapshot来实现的方式手工配置繁琐,例如,需要配置字段,过滤条件等,无法实现聚合、联合、排序等高级的抽数需求,如果业务的需求发生大的变化,还需要修改程序的执行逻辑。
因此,目前HBase数据库中的数据导入到Hive数据库的效率并不高。
发明内容
有鉴于此,本发明的目的在于提供一种基于SQL的数据处理方法、装置和设备,以克服目前HBase数据库中的数据导入到Hive数据库的效率并不高的问题。
为实现以上目的,本发明采用如下技术方案:
一种基于SQL的数据处理方法,包括:
获取用户基于实际需求编写的抽数SQL,以及,从元数据库中调取预先创建的Hive表和HBase虚表;其中,所述HBase虚表用于映射HBase实体表;
在Calcite中,结合所述抽数SQL、所述HBase虚表、所述Hive表,生成物理执行计划,并将所述物理执行计划发送到Hadoop Yarn;
利用所述Hadoop Yarn调度所述物理执行计划,读取所述HBase实体表中的数据写入所述Hive表中。
进一步地,以上所述的基于SQL的数据处理方法,所述在Calcite中,结合所述抽数SQL、所述HBase虚表、所述Hive表,生成物理执行计划,并将所述物理执行计划发送到Hadoop Yarn,包括;
在所述Calcite中,结合所述抽数SQL、所述HBase虚表、所述Hive表,生成逻辑执行计划;
基于所述Calcite中的固定规则和所述Calcite中预先注册的自定义规则,对所述逻辑执行计划进行优化;
调用所述Calcite中预先注册的物理转换器,将优化后的逻辑执行计划转换为所述物理执行计划。
进一步地,以上所述的基于SQL的数据处理方法,所述在所述Calcite中,结合所述抽数SQL、所述HBase虚表、所述Hive表,生成逻辑执行计划,包括:
在所述Calcite中,基于所述抽数SQL,验证所述HBase虚表、所述Hive表的基本信息;
验证通过后,将所述抽数SQL转换为所述逻辑执行计划。
进一步地,以上所述的基于SQL的数据处理方法,所述方法还包括:
获取所述用户基于实际需求编写的初始自定义规则;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海中通吉网络技术有限公司,未经上海中通吉网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011610689.1/2.html,转载请声明来源钻瓜专利网。





