[发明专利]一种提升Impala查询容量的实现方案在审
| 申请号: | 202010064306.9 | 申请日: | 2020-01-20 |
| 公开(公告)号: | CN113138976A | 公开(公告)日: | 2021-07-20 |
| 发明(设计)人: | 王东;张晨飞 | 申请(专利权)人: | 南京中新赛克科技有限责任公司 |
| 主分类号: | G06F16/215 | 分类号: | G06F16/215;G06F16/22;G06F16/2455;G06F16/27 |
| 代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210012 江苏省南京*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提升 impala 查询 容量 实现 方案 | ||
本发明公开了一种提升Impala查询容量的实现方案,将从数据源收集,处理后的数据存储到Hadoop集群中,Impala关联Hadoop集群,通过将元数据缓存入Redis中,在用户首次提交查询请求,SQL引擎创建执行计划时,从Redis中获取元数据,反序列化后存入Lrucache中,后续请求创建执行计划直接从Lrucache中获取元数据,该方案可以支持元数据大于4G的表的更新,从而支持元数据大于4G的大表的查询。
技术领域
本发明涉及大数据领域,特别涉及一种提升Impala查询容量的实现方案。
背景技术
Impala是一个分布式大规模并行处理的数据库查询引擎,支持hdfs、hbase等数据源的查询。Impala由三个服务组成:impalad、catalogd和statestored,具体架构如附图1所示,其中Impalad负责接受用户的查询请求,生成执行计划,并且分发到其它的Impalad进程执行,最终汇集结果;Catalogd提供元数据服务,可以从hive metastore中拉取元数据;Statestored主要提供消息订阅服务。
Impala首次查询或执行dml操作都需要加载元数据,元数据更新流程如图2所示,当一个Impalad执行dml操作后触发catalogd更新元数据,catalogd更新元数据后会将元数据先存在内存,statestored和catalogd定时交互消息,发现有元数据更新会获取这部分更新的元数据然后同步到其他impalad。Impala采用thrift框架实现底层通信和序列化,每次表元数据更新最大支持4G,当涉及的数据超过4G时,表元数据无法更新,导致无法进行查询操作。
发明内容
发明目的:本发明的目的是提供一种提升impala查询容量的实现方案,该方法可以支持元数据大于4G的表更新,从而支持元数据大于4G的大表查询。
技术方案:本发明所述的一种提升impala查询容量的实现方案,采用如下方案实现:
步骤1:将从数据源收集、过滤和预处理后的数据保存在Hadoop集群中;
步骤2:Impala关联Hadoop集群后,将表内所有文件元数据序列化后存入内存数据库Redis中;
步骤3:当用户首次提交查询请求,SQL引擎在创建执行计划时,从数据库Redis中获取所有文件的元数据,反序化后存储入Lrucache中;
步骤4:用户后续请求创建执行计划时,执行计划加载元数据时先判断是否在Lrucache缓存中已经存在,如果存在直接获取,如果不存在从Redis集群中获取并加载到Lrucache缓存中。
其中步骤1中从数据源收集、过滤和预处理的数据包括结构化数据和非结构化数据;
其中步骤1中所述的数据,存储在Hadoop集群中的HDFS中;
其中步骤1中将数据保存在Hadoop集群中,具体包括从不同的数据源收集数据,并对收集到的数据按分区存储在Hadoop集群中的HDFS内;
其中步骤2中将表内所有文件元数据序列化后存入内存数据库Redis中包括如下步骤:
步骤2.1:Impala打开连接Redis开关;
步骤2.2:配置线程池;
步骤2.3:在元数据加载时依据分区数并发存储元数据至Redis中。
有益效果:通过上述技术方案,可以支持元数据大于4G的表更新,从而支持元数据大于4G的大表查询。
附图说明
图1是Impala的具体架构;
图2是元数据更新流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京中新赛克科技有限责任公司,未经南京中新赛克科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010064306.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:扩管装置
- 下一篇:一种竹叶提取物护肤营养液及其制备方法和用途





