Hadoop-Impala效能最佳化系列開幕

ultradb發表於2016-11-30

1    Hadoop-Impala效能最佳化系列開幕

1.1  序和簡介

1.1.1 

某集團資料中心業務支撐平臺建設也2年了,磕磕碰碰一路走來。最近的hadoop業務大規模急速上升,出現不少問題。專案中集團三地叢集均使用了impala作為計算引擎,效能直接提升顯,同時也存在一些問題,本文結合自己的實踐和官方的文件,做個整理,不敢獨享。

由於專案本身繁忙,空閒時間較少,只能加班整理文件,倉促中整理過程中難免有不合適的地方,也請同行批評指正。本文適合初學者以及想對impala有個系統的最佳化調優人員。

1.1.2  簡介

ImpalaCloudera公司主導開發的新型查詢系統,它提供SQL語義,能查詢儲存在HadoopHDFSHBase中的PB級大資料。已有的Hive系統雖然也提供了SQL語義,但由於Hive底層執行使用的是MapReduce引擎,仍然是一個批處理過程,難以滿足查詢的互動性。相比之下,Impala的最大特點也是最大賣點就是它的快速。

1.1.3  優點

Impala不需要把中間結果寫入磁碟,省掉了大量的I/O開銷。

省掉了MapReduce作業啟動的開銷。MapReduce啟動task的速度很慢(預設每個心跳間隔是3秒鐘),Impala直接透過相應的服務程式來進行作業排程,速度快了很多。

Impala完全拋棄了MapReduce這個不太適合做SQL查詢的正規化,而是像Dremel一樣借鑑了MPP並行資料庫的思想另起爐灶,因此可做更多的查詢最佳化,從而省掉不必要的shufflesort等開銷。

透過使用LLVM來統一編譯執行時程式碼,避免了為支援通用編譯而帶來的不必要開銷。

C++實現,做了很多有針對性的硬體最佳化,例如使用SSE指令。

使用了支援Data localityI/O排程機制,儘可能地將資料和計算分配在同一臺機器上進行,減少了網路開銷。

1.1.4  缺點

任何偉大的事物都是缺陷的美,impala也是同樣,有各種各樣的不完美,甚至是坑,但作為新生事物,我們不必求全責備,適合場景就好。(後期將會整理缺點和若干的坑系列,喜歡的朋友保持關注即可。)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24179204/viewspace-2129413/,如需轉載,請註明出處,否則將追究法律責任。

相關文章