歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Stinger Initiative:讓Hive提速100倍

Stinger Initiative:讓Hive提速100倍

日期:2017/2/27 16:01:30   编辑:Linux教程
在Hadoop生態圈,沒有一家公司有比Hortonworks有更高的統治力,在Apache Hadoop社區,他占據最多的PMC和committer。他和Cloudera是社區利益最主要的爭奪者。Stinger Initiative是一個徹底提升Hive效率的工具,與此同時,Hortonworks還在Apache孵化著多個項目,進一步擴大領地。

自從2007年Facebook提出Apache Hive和HiveQL後,他們已經成為事實上的Hadoop上的SQL接口。如今,各種類型的大公司或小公司都在使用Hive這中非常普遍的方法來訪問 Hadoop數據,從而給公司或者用戶帶來更多的價值。同時,還有許多公司通過大量已存的BI工具生態系統來達到相同的目的,這些BI工具同樣使用 Hive作為接口。

最初,Hive用於建立大規模的成批計算,這在數據報告、數據挖掘以及數據准備等應用場景很有效。這些應用場景很重要,但是Hadoop的需求十分 廣闊,企業用戶越來越需要Hadooop具備更高的實時性和交互性。在Hortonworks,我們相信開源社區的創新力要超過任何一個專有的提供 商,Stinger initiative再次證明了這一點,我們會聯合(社區)伙伴一起提升Hive的性能。

什麼是Stinger Initiative?

能讓Hive回答問題的速度滿足普通人(例如一個問題的返回時間在5-30秒),如大數據探索、可視化、參數化報告等場景,而且並不依賴其它工具,並分發到用戶社區,可以很好的維護企業原有的投資和開發者的Hive技能。

圖:Stinger Initiative的roadmap

為此,我們發布了Stinger Initiative,並進入社區進行分享,為的是讓Hive支持更多SQL,並實現更好的性能。一直以來,HiveQL都沒有什麼變化,而這次HiveQL將變得更強大。同時,與現有的工具保持一致形成完美的互補。

  1. 首先,我們讓Hive與人們在Hadoop上想要的查詢想匹配。這包括增加類似OVER子句的分析功能,支持WHERE子查詢,以及調整Hive的樣式系統更多的符合標准的SQL模型。
  2. 其次,我們優化了Hive的請求執行計劃,我們內部某些測試結果顯示,優化後的請求時間減少了90%。我們也著眼於在Hive執行引擎中增加一些改動,我們確信這可以增加單一Hive task每秒鐘處理記錄的數量。
  3. 第三,我們在Hive社區中引入了新的列式文件格式(如ORC文件),提供一種更現代、高效和高性能的方式來儲存Hive數據。
  4. 最後,我們引入了一種新的runtime框架—— Tez,它的目標是消除Hive的延遲以及吞吐量限制。Tez通過消除不必要的task、障礙同步和對HDFS的讀寫作業來優化Hive job。這將優化Hadoop內部的執行鏈,徹底加速Hive負載處理。

所有這些對Hive的調整仍在公開的進行中,內部預覽版將在今年三月舉行的由Hortonworks主辦的 Hadoop大會上公開。

擁抱社區和Hive

許多不同的團隊在Hive社區貢獻著他們成果。來自SAP的Harish Butani的團隊負責為Hive增加一個分析和數據窗口函數。這個函數將增加到OVER子句中用於已經存在的聚集函數,就像RAND、NTILE和LEAD、LAG等函數一樣, 這裡可以看到詳細的說明。Facebook的Namit Jain已經花了大量時間來優化Hive的查需執行計劃,這讓Join等操作變的更高效,並減少來自用戶的提示。Hortonworks已經參與到這些項目中。

Owen O’Malley,Hortonworks聯合創始人,早期的Hadoop的開發者,已經在Facebook為ORC文件格式進行了大量工作,這項工作將幫助提升Hive讀、寫、處理數據的性能,在 這裡可以看到詳情。我們還在為一些更長遠的目標工作,如重寫Hive的運算符來處理上千的記錄,其效率和現在相比將有大幅提升。

為什麼要重新造輪子呢?
Copyright © Linux教程網 All Rights Reserved