大數據提速:Impala能否取代Hive
近日,Cloudera發布Impala實時查詢引擎Impala 1.0 beta版,并聲稱這項革命性的技術能解決Hadoop批處理延遲問題(比原來基于MapReduce的Hive SQL查詢速度提升3~30倍),開源的Impala還為Hadoop打開了通向關系型數據庫和商業智能工具的大門。
Impala是運行于現有Hadoop基礎設施上的實時互動SQL查詢引擎,可以讓Hdadoop DFS文件系統以及Apache HBase數據庫中的數據支持實時查詢。這意味著Impala為Hadoop打開了通向關系型數據庫和傳統商業智能工具的大門(后兩者基于SQL查詢)。
此前,數據倉庫架構Apache Hive能夠讓Hadoop某種程度上支持結構化數據訪問,但是Hive采用的方法是將SQL查詢轉化成MapReduce任務,這導致Hive的性能很差。而且,Hive只能支持不到30%的SQL分析功能,而根據Cloudera的說法,Impala將比Hive出色得多。
“從長遠看,Impala將取代Hive,但目前Hive的安裝基數很大,關聯的應用很多,所以Impala不會很快取代Hive,”Coudera首席執行官Mike Olson說道:“因為支持實時查詢,Impala將會非常有吸引力。”
Impala實際上是兩個產品。核心部分是Impala實時查詢引擎,采用Apache開源授權方式,Hadoop用戶可以單獨使用這個引擎。同時,Impala項目也將以Cloudera Enterprise RTQ(Real-Time Query)為名進入CDH發行版。可以部署到生產環境的版本將到2013年一季度就緒。Cloudera Enterprise RTQ將作為Cloudera 管理控制臺的一部分,負責管理Impala服務器。從這個管理控制臺中IT人員能夠看到查詢的運行情況、運行時間以及活躍用戶數等。
借鑒Dremel
Impala可謂是Cloudera的秘密武器,在正式發布之前,Impala項目的開發高度保密,顯然,Cloudera希望給大數據業界一個驚喜。Impala有望解決Hadoop系統的兩個頑疾:批處理速度慢和數據可訪問性差(無法支持分秒級的實時互動查詢分析)。Cloudera在官方博客中透露Impala是在Dremel的啟發下開發的。Impala不再使用緩慢的 Hive+MapReduce批處理,而是通過與商用并行關系數據庫中類似的分布式查詢引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分組成),可以直接從HDFS或者HBase中用SELECT、JOIN和統計函數查詢數據,從而大大降低了延遲。其架構如下圖所示。
Impala的架構
商業智能廠商的福音,但不會取代傳統數據倉庫
Impala對于商業智能廠商來說也許是個福音。過去,商業智能廠商只能采用耗時的手動方式將數據從Hadoop系統中轉移出來,或者忍受Hive的延遲和功能局限。在ad hoc查詢分析模式下,Impala可以讓BI工具直接訪問Hadoop中的數據,但Olson表示,在生產環境,關鍵任務工作負載仍然將會由關系型數據庫處理。“一些工作負載將會借Impala進入Hadoop系統,但是如果需要進行結構化數據的高速復雜分析,傳統大型數據倉庫依然無可替代。傳統數據倉庫運行的OLAP引擎有很多專用界面,支持數據匯總與聚合。這些都不是SQL語言和Impala能夠處理的。(有趣的是,OLAP正受到內存計算技術的威脅,所以人們不禁會問,有朝一日OLAP是否也會被部署到Hadoop系統里)。
能否取代Hive,用戶說了算
Cloudera還沒有對Imala進行benchmark測試,但是Olson表示Impala未必能達到關系型數據庫的性能,但可以肯定的一點是,速度將比Hive快3-30倍,這足以讓用戶拋棄Hive選擇Impala。Cloudera的一些客戶目前已經開始測試Impala,其中兩家結果即將公布。其中一家公司Monsanto在全球范圍內有大量研究科學家協作分析抗病-野草基因組,但是目前這些研究數據分散在很多數據孤島中,Monsanto希望能夠在Hadoop中整合所有數據,并用Impala提供高速SQL查詢服務,Monsanto目前正在開發一個覆蓋所有研究中心的協作時互動環境。
Cloudera另外一家客戶——在線旅游預訂網站Expedia使用Cloudera產品管理者超過4PB的數據,目前正在測試通過Implala了解用戶的預定內容,誰在預訂,哪些航班、租車公司、酒店更受歡迎(或者流失客戶)。
Expedia全球商業智能和數據倉庫總監Jeff Prather透露:“Impala讓我們的Hadoop系統的延遲降低了50%,而且提供了很多前所謂有的業務分析功能。”
Olson鼓勵Hadoop社區下載Cloudera Impala beta文檔,(GitHub源碼下載地址)因為越多人使用、測試,這項技術產品化的速度就會越快。
但是目前還清楚Impala是否能夠比Hive更受歡迎,甚至取代Hive。Cloudera的競爭對手們,如Hortonworks和MapR也沒有表態是否支持Impala。但是在最大的Hadoop發行商Cloudera的支持下,在如此眾多的廠商和用戶提高Hadoop的SQL查詢速度的期待下,Impala的前景還是一片光明的。
【編輯推薦】