www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 架構師社區(qū)
[導讀]網(wǎng)易大數(shù)據(jù)平臺的底層數(shù)據(jù)查詢引擎,選用了Impala作為OLAP查詢引擎,不但支撐了網(wǎng)易大數(shù)據(jù)的交互式查詢與自助分析,還為外部客戶提供了商業(yè)化的產(chǎn)品與服務。今天將為大家分享下Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐。


Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐


文章作者:溫正湖?網(wǎng)易杭研

編輯整理:張博

出品平臺:DataFunTalk


導讀: 網(wǎng)易大數(shù)據(jù)平臺的底層數(shù)據(jù)查詢引擎,選用了Impala作為OLAP查詢引擎,不但支撐了網(wǎng)易大數(shù)據(jù)的交互式查詢與自助分析,還為外部客戶提供了商業(yè)化的產(chǎn)品與服務。今天將為大家分享下Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐。
01
Impala的定位及優(yōu)勢

Impala有哪些優(yōu)勢,讓我們選擇Impala作為網(wǎng)易內(nèi)部的OLAP查詢引擎?

1.?Impala在數(shù)據(jù)處理中的角色

先來看一下Impala在數(shù)據(jù)處理中的角色。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

對于數(shù)據(jù)量較少的場景,例如百萬數(shù)據(jù)以下的情況,可以采用傳統(tǒng)的關系型數(shù)據(jù)庫,如MySQL或者PostgreSQL等,或者一些文檔數(shù)據(jù)庫,比如MongoDB等。隨著數(shù)據(jù)量的增大,達到上億級別時,一般選擇分析型數(shù)倉來存儲,并使用OLAP引擎來查詢。此等規(guī)模的數(shù)據(jù)查詢,對響應時間的要求雖然比關系型數(shù)據(jù)庫要低,但一般也要求在秒級返回查詢結果,不能有太大的延遲。Impala、Presto、Greenplum等都在此列。當規(guī)模繼續(xù)擴大到上百億以上時,則會選擇批處理引擎,如Hive、Spark來進行數(shù)據(jù)處理。

今天分享的Impala就是針對分析型數(shù)倉的查詢引擎。分析型數(shù)倉有很多種建模方式。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

以Druid和Click House為代表的寬表模型,還有以Impala等為代表的星型/雪花型的建模方式。我們將Impala作為通用的查詢引擎,比較典型的應用場景有自助數(shù)據(jù)分析、BI報表等。在分享的第三部分,有關于Impala在網(wǎng)易大數(shù)據(jù)平臺“猛犸”中的介紹,以及在網(wǎng)易云音樂中的實際使用場景的說明。

2.?Impala的優(yōu)勢

網(wǎng)易為什么選擇Impala作為OLAP查詢引擎,Impala到底有哪些優(yōu)勢?Impala的優(yōu)勢,總結起來包括:

  • MPP 架構,去中心化

  • 優(yōu)秀的查詢性能

  • 友好的 WebUI 界面

  • 完全兼容 Hive 元數(shù)據(jù)

  • Apache 頂級項目,社區(qū)活躍度高

  • 支持多種數(shù)據(jù)格式( Parquet/ORC 等)

  • 與 Kudu 結合使用,實時數(shù)倉

① 去中心化的MPP并行架構

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

相比于傳統(tǒng)的關系型數(shù)據(jù)庫,MPP架構可以充分發(fā)揮多服務器的特點,將數(shù)據(jù)量比較大的操作,分散在多臺服務器上并行處理。這些復雜的大數(shù)據(jù)量的操作,對于單臺服務器來說是無法完成的任務。

Impala還區(qū)別于其他MPP架構的引擎的一點,是Impala有多個Coordinator和Executor,多個Coordinator可以同時對外提供服務。多Coordinator的架構設計讓Impala可以有效防范單點故障的出現(xiàn)。

②?優(yōu)秀的查詢性能

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

Impala支持CBO(基于代價的執(zhí)行優(yōu)化),除此之外,Impala還對Catalog進行了緩存。緩存的信息包括:庫和表的信息、HDFS數(shù)據(jù)庫、統(tǒng)計信息等。元數(shù)據(jù)都緩存在了Impala內(nèi)部,在做CBO時,能夠發(fā)揮更大的優(yōu)勢,做出更優(yōu)的選擇。除此之外,Impala同時具有典型的OLAP引擎應有的特征:靜態(tài)代碼生成支持LLVM、JIT;支持HDFS本地讀區(qū),減少訪問NameNode、DataNode和數(shù)據(jù)網(wǎng)絡傳輸?shù)拈_銷,對性能有比較大的提升;還有算子下推,runtime filter在Join時,對與join條件之外的列可以進行動態(tài)過濾。

從我們實際使用效果來說,Impala性能優(yōu)勢非常明顯。前段時間我們對Impala、presto和spark3.0進行了對比測試。測試用例選擇tpcds,并行節(jié)點8個。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

總的來說,Impala相比Presto有明顯的優(yōu)勢,相比Spark 3.0也有一定的優(yōu)勢。Spark 3.0對性能做了很多優(yōu)化和改進,相比之下Impala性能有一些優(yōu)勢,不過Impala因為支持的SQL類型少一些,有一些tpcds的測試用例并不能完成。

③ 友好的WebUI界面

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

一般來說,大數(shù)據(jù)查詢引擎的查詢計劃,比關系型數(shù)據(jù)庫的查詢計劃復雜的多。Impala提供了一個比較友好的WebUI,在這個界面上,能看到完整的執(zhí)行計劃、內(nèi)存使用情況、異常查詢分析,也可以通過界面終止查詢語句。

此外,Impala的優(yōu)勢還體現(xiàn)在:完全兼容Hive元數(shù)據(jù)、Apache頂級項目有較高的社區(qū)活躍度、支持多種數(shù)據(jù)格式(Parquet、ORC等)、可以與Kudu結合使用等。

02
對Impala的一些增強和優(yōu)化

在我們生產(chǎn)實踐中,也發(fā)現(xiàn)了Impala的一些不足,因此網(wǎng)易大數(shù)據(jù)團隊對Impala進行了一些優(yōu)化和增強。包括以下幾個方面:

  • Impala 管理服務器

  • 元數(shù)據(jù)同步增強

  • 基于zookeeper的服務高可用

  • 支持更多存儲后端

  • 其他增強和優(yōu)化

1.?Impala管理服務器

Impala已經(jīng)提供了WebUI的情況下,為什么需要一個管理服務器?

其中一個原因,是社區(qū)版的WebUI是非持久化的,一旦Impalad異常退出,這些信息都會丟失。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

我們通過MySQL存儲WebUI上的信息,將統(tǒng)計信息、執(zhí)行信息等重要信息保存到MySQL數(shù)據(jù)庫中,實現(xiàn)持久化保存。在此基礎上,管理平臺給我們帶來許多增值收益。相比于原生的WebUI,增強版的WebUI可以匯總各個coordinator執(zhí)行的SQL語句,直觀展示當前執(zhí)行的SQL。

還可以作為集群持續(xù)優(yōu)化的平臺。因為記錄了歷史執(zhí)行的SQL,可以為后續(xù)SQL優(yōu)化提供依據(jù),比如集群SQL的性能指標、隨時間變化的性能表現(xiàn),以及大部分SQL的執(zhí)行時間。通過統(tǒng)計SQL執(zhí)行失敗的次數(shù),出錯SQL,為定位和回溯問題提供幫助。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

2.?元數(shù)據(jù)同步增強

Impala對元數(shù)據(jù)的緩存,一方面大幅提升了查詢性能,但另一方面,元數(shù)據(jù)更新也帶來了新的問題。因為數(shù)據(jù)可以不通過Impala客戶端,而通過其他組件比如Hive進行更新,這就讓Impala無法感知到元數(shù)據(jù)的更新。而老舊的元數(shù)據(jù)會導致查詢失敗或者性能下降。因此,需要一個機制能夠讓Impala及時感知元數(shù)據(jù)的更新。社區(qū)版提供了INVALIDATE METADATA這一命令,可以手動刷新元數(shù)據(jù)。不過如果一些用戶不熟悉這個操作,沒有更新Impala緩存的元數(shù)據(jù),就會導致查詢的問題。怎么解決這樣的問題?

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

網(wǎng)易對此進行優(yōu)化,引入了元數(shù)據(jù)自動同步機制:在Hive進行DDL相關操作時,記錄操作日志,Impala通過消費操作日志,進行必要的Invalidate Metadata的操作,無須人工操作,大大提高了元數(shù)據(jù)緩存的可用性和實時性。對于提升Impala的查詢性能,降低查詢錯誤都有很大的幫助。

另外一個是元數(shù)據(jù)的黑白名單機制,配合Impala不同的元數(shù)據(jù)加載方式。對于啟動時加載元數(shù)據(jù)的,配置黑名單,屏蔽不需要通過Impala查詢的表;對于延遲加載元數(shù)據(jù)的,配置白名單,即刻加載元數(shù)據(jù),避免首次查詢時延遲過大。

另外需要提醒的是,Impala 3.x版本在元數(shù)據(jù)緩存管理上有了極大的改進,網(wǎng)易大數(shù)據(jù)團隊也在調(diào)研中,準備從2.12升級到3.4版本。

3.?基于ZK的服務高可用

雖然每一個Impalad都可以作為Coordinator,對外提供訪問服務,接受客戶端請求,但是缺乏一個路由機制。當一個client連接的特定coordinator失效之后,就無法在進行查詢了。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

網(wǎng)易大數(shù)據(jù)團隊參考Hive的實現(xiàn),引入zookeeper作為訪問代理,客戶端首先通過zookeeper找到可用的coordinator節(jié)點,然后再提交SQL查詢請求。通過這種方式,提供了更健壯的查詢服務模式。

4.?支持更多存儲后端

對于后端存儲的支持,網(wǎng)易團隊增加了對iceberg表的創(chuàng)建和查詢的支持。已經(jīng)在云音樂業(yè)務上使用,并且貢獻給了Impala社區(qū)。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

其他后端還包括對Alluxio的支持,使用Alluxio作為Impala和HDFS之間的二級緩存。這方面的詳細信息,可以搜索《網(wǎng)易嚴選:基于 Alluxio+Impala 深度融合架構的 BI 系統(tǒng)性能優(yōu)化實踐》。

此外對接Elastic Search查詢,充分發(fā)揮了ES倒排索引的優(yōu)勢。

5.?其他增強和優(yōu)化

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

其他的增強還有:權限的優(yōu)化、Hive多版本適配、支持JSON,以及社區(qū)版的一些Bug修正。

03
Impala在網(wǎng)易的使用案例分析

1.?Impala的部署和使用

Impala兩種部署方式:混合部署與獨立部署?;旌喜渴鹗侵窱mpala和其他大數(shù)據(jù)組件共用HDFS。而獨立部署則是為Impala配置獨立的HDFS。獨立部署的優(yōu)勢在于IO和網(wǎng)絡通信都有保障,對性能和穩(wěn)定性的提升有幫助。但是代價也十分明顯:成本上升。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

Impala與Kudu結合,可以用來構建實時數(shù)倉。Kudu增量寫入,定期保存到HDFS。Kudu的使用一方面提供了更新數(shù)據(jù)和刪除數(shù)據(jù)的能力,另一方面也解決了HDFS上小文件的問題。而Impala可以同時查詢Kudu和HDFS上的數(shù)據(jù)。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

網(wǎng)易內(nèi)部對集群的監(jiān)控,對接了網(wǎng)易內(nèi)部的哨兵服務。可以提供準實時的告警能力。運維人員通過設置閾值,訂閱告警信息,從而了解集群的監(jiān)控程度。

此外,對于Impala集群的部署和使用,還有幾點需要注意:

  • 按照大業(yè)務劃分不同的集群

  • 按照不同的子業(yè)務或者 SQL 類型劃分隊列

  • coordinator 節(jié)點與 executor 節(jié)點分開部署

  • 對于機器數(shù)比較少的集群,機器上可部署多個節(jié)點,增加并發(fā)

  • 業(yè)務方重試機制,以免 impalad 節(jié)點掛掉導致 SQL 失敗

  • 通過 impala hint 改變表的 join 方式

  • 結合實際情況參考是否設置 mem_limit ,設置多大 mem_limit

2.?網(wǎng)易大數(shù)據(jù)中的Impala

在網(wǎng)易大數(shù)據(jù)平臺“猛犸”中,Impala位于數(shù)據(jù)計算層,提供交互式查詢的能力,對應的應用場景是自助分析。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

在網(wǎng)易對外提供的產(chǎn)品和服務中,復雜報表和自助取數(shù),都用到了Impala。其中自助分析服務適用于有一定SQL基礎的用戶,通過自己寫SQL語句,查詢數(shù)據(jù)。靈活性比較大,同時門檻也比較高。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

網(wǎng)易有數(shù)的自助取數(shù)服務(easyFetch)可以通過拖拽維度和度量,方便的獲取數(shù)據(jù),并生成圖表報告。后端對接的是網(wǎng)易有數(shù)的API。非常適合非專業(yè)人員使用數(shù)據(jù),發(fā)揮出數(shù)據(jù)的生產(chǎn)力。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

網(wǎng)易現(xiàn)在內(nèi)部有8個Impala集群,超過200個節(jié)點,最大集群規(guī)模超過60個節(jié)點。除了內(nèi)部服務外,對外的商業(yè)化服務,已經(jīng)有超過20個Impala集群。

3.?Impala在云音樂的使用實踐

網(wǎng)易云音樂,有2個Impala集群,超過60個節(jié)點的規(guī)模。主要的應用場景包括:有數(shù)報表、自助分析、音樂版權、A/B測試,easyFetch等等。絕大部分應用場景下,Impala的查詢時間不超過2秒。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

云音樂A/B測試早期使用Spark按照小時粒度,完成從ODS到DWD層的數(shù)據(jù)清洗工作,之后生成用戶分流表和指標統(tǒng)計表,再使用Spark關聯(lián)這兩張表的結果寫入到Kudu中,最后使用Impala對接數(shù)據(jù),供用戶查詢。這樣數(shù)據(jù)延遲至少1~2小時,有些結果甚至在第二天才能看到。但是對于A/B測試,能夠?qū)崟r看到結果才是最好的。

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

對此云音樂團隊基于Flink做了實時性改造。將DWS變成流表,這樣Impala可以同時查詢T+1的結果表和流表中的實時數(shù)據(jù)。A/B測試的效果就可以近實時的看到了。

今天的分享就到這里,謝謝大家。


在文末分享、點贊、在看,給個三連擊唄~~


嘉賓介紹:

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

溫正湖

網(wǎng)易杭研 |?高級數(shù)據(jù)庫技術專家

杭研大數(shù)據(jù)產(chǎn)品中心OLTP&OLAP內(nèi)核團隊負責人。10年數(shù)據(jù)庫和存儲開發(fā)經(jīng)驗,專注于數(shù)據(jù)庫、數(shù)倉技術和分布式系統(tǒng)架構;累計申請10+技術發(fā)明專利 ( 已授權8個 ),《MySQL 內(nèi)核:InnoDB 存儲引擎 卷1》作者之一。

特別推薦一個分享架構+算法的優(yōu)質(zhì)內(nèi)容,還沒關注的小伙伴,可以長按關注一下:

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

長按訂閱更多精彩▼

Impala在網(wǎng)易大數(shù)據(jù)的優(yōu)化和實踐

如有收獲,點個在看,誠摯感謝

免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉