[發(fā)明專利]一種提升Impala查詢?nèi)萘康膶崿F(xiàn)方案在審
| 申請?zhí)枺?/td> | 202010064306.9 | 申請日: | 2020-01-20 |
| 公開(公告)號: | CN113138976A | 公開(公告)日: | 2021-07-20 |
| 發(fā)明(設計)人: | 王東;張晨飛 | 申請(專利權(quán))人: | 南京中新賽克科技有限責任公司 |
| 主分類號: | G06F16/215 | 分類號: | G06F16/215;G06F16/22;G06F16/2455;G06F16/27 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210012 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 提升 impala 查詢 容量 實現(xiàn) 方案 | ||
本發(fā)明公開了一種提升Impala查詢?nèi)萘康膶崿F(xiàn)方案,將從數(shù)據(jù)源收集,處理后的數(shù)據(jù)存儲到Hadoop集群中,Impala關聯(lián)Hadoop集群,通過將元數(shù)據(jù)緩存入Redis中,在用戶首次提交查詢請求,SQL引擎創(chuàng)建執(zhí)行計劃時,從Redis中獲取元數(shù)據(jù),反序列化后存入Lrucache中,后續(xù)請求創(chuàng)建執(zhí)行計劃直接從Lrucache中獲取元數(shù)據(jù),該方案可以支持元數(shù)據(jù)大于4G的表的更新,從而支持元數(shù)據(jù)大于4G的大表的查詢。
技術領域
本發(fā)明涉及大數(shù)據(jù)領域,特別涉及一種提升Impala查詢?nèi)萘康膶崿F(xiàn)方案。
背景技術
Impala是一個分布式大規(guī)模并行處理的數(shù)據(jù)庫查詢引擎,支持hdfs、hbase等數(shù)據(jù)源的查詢。Impala由三個服務組成:impalad、catalogd和statestored,具體架構(gòu)如附圖1所示,其中Impalad負責接受用戶的查詢請求,生成執(zhí)行計劃,并且分發(fā)到其它的Impalad進程執(zhí)行,最終匯集結(jié)果;Catalogd提供元數(shù)據(jù)服務,可以從hive metastore中拉取元數(shù)據(jù);Statestored主要提供消息訂閱服務。
Impala首次查詢或執(zhí)行dml操作都需要加載元數(shù)據(jù),元數(shù)據(jù)更新流程如圖2所示,當一個Impalad執(zhí)行dml操作后觸發(fā)catalogd更新元數(shù)據(jù),catalogd更新元數(shù)據(jù)后會將元數(shù)據(jù)先存在內(nèi)存,statestored和catalogd定時交互消息,發(fā)現(xiàn)有元數(shù)據(jù)更新會獲取這部分更新的元數(shù)據(jù)然后同步到其他impalad。Impala采用thrift框架實現(xiàn)底層通信和序列化,每次表元數(shù)據(jù)更新最大支持4G,當涉及的數(shù)據(jù)超過4G時,表元數(shù)據(jù)無法更新,導致無法進行查詢操作。
發(fā)明內(nèi)容
發(fā)明目的:本發(fā)明的目的是提供一種提升impala查詢?nèi)萘康膶崿F(xiàn)方案,該方法可以支持元數(shù)據(jù)大于4G的表更新,從而支持元數(shù)據(jù)大于4G的大表查詢。
技術方案:本發(fā)明所述的一種提升impala查詢?nèi)萘康膶崿F(xiàn)方案,采用如下方案實現(xiàn):
步驟1:將從數(shù)據(jù)源收集、過濾和預處理后的數(shù)據(jù)保存在Hadoop集群中;
步驟2:Impala關聯(lián)Hadoop集群后,將表內(nèi)所有文件元數(shù)據(jù)序列化后存入內(nèi)存數(shù)據(jù)庫Redis中;
步驟3:當用戶首次提交查詢請求,SQL引擎在創(chuàng)建執(zhí)行計劃時,從數(shù)據(jù)庫Redis中獲取所有文件的元數(shù)據(jù),反序化后存儲入Lrucache中;
步驟4:用戶后續(xù)請求創(chuàng)建執(zhí)行計劃時,執(zhí)行計劃加載元數(shù)據(jù)時先判斷是否在Lrucache緩存中已經(jīng)存在,如果存在直接獲取,如果不存在從Redis集群中獲取并加載到Lrucache緩存中。
其中步驟1中從數(shù)據(jù)源收集、過濾和預處理的數(shù)據(jù)包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù);
其中步驟1中所述的數(shù)據(jù),存儲在Hadoop集群中的HDFS中;
其中步驟1中將數(shù)據(jù)保存在Hadoop集群中,具體包括從不同的數(shù)據(jù)源收集數(shù)據(jù),并對收集到的數(shù)據(jù)按分區(qū)存儲在Hadoop集群中的HDFS內(nèi);
其中步驟2中將表內(nèi)所有文件元數(shù)據(jù)序列化后存入內(nèi)存數(shù)據(jù)庫Redis中包括如下步驟:
步驟2.1:Impala打開連接Redis開關;
步驟2.2:配置線程池;
步驟2.3:在元數(shù)據(jù)加載時依據(jù)分區(qū)數(shù)并發(fā)存儲元數(shù)據(jù)至Redis中。
有益效果:通過上述技術方案,可以支持元數(shù)據(jù)大于4G的表更新,從而支持元數(shù)據(jù)大于4G的大表查詢。
附圖說明
圖1是Impala的具體架構(gòu);
圖2是元數(shù)據(jù)更新流程圖;
該專利技術資料僅供研究查看技術是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京中新賽克科技有限責任公司,未經(jīng)南京中新賽克科技有限責任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010064306.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:擴管裝置
- 下一篇:一種竹葉提取物護膚營養(yǎng)液及其制備方法和用途
- 一種實現(xiàn)多種大數(shù)據(jù)計算框架統(tǒng)一接口的方法
- Impala基于Hadoop集群日志分析方法和系統(tǒng)
- 一種Impala與HBase之間的高效數(shù)據(jù)傳輸方法及系統(tǒng)
- 基于impala數(shù)據(jù)庫的表格數(shù)據(jù)導出方法及裝置
- 一種基于Hadoop的云存儲平臺
- 一種基于Impala組件的批處理方法及系統(tǒng)
- 一種基于混合存儲方案的impala在線交互式查詢方法
- 一種稅務大數(shù)據(jù)存儲及分析平臺
- 一種基于OpenSSH的Impala集群可視化管理方法
- 一種同步Hive數(shù)據(jù)的方法、系統(tǒng)、電子設備及存儲介質(zhì)





