2017-03-27 119 views
0

我需要知道如何在Hadoop等分佈式系統上執行hive查詢。我查了其他問題,但沒有一個詳細解釋。如何在hadoop中執行hive查詢

我正在尋找完整的執行過程。正如我想知道爲什麼蜂巢連接查詢比簡單選擇查詢花費更多時間。

任何人都知道蜂巢執行過程,請解釋。 PS:我使用hortonworks數據平臺作爲Hadoop框架。

+0

如果任何人都可以提供良好的文檔鏈接爲蜂巢查詢過程將是非常有益的。 – techprat

回答

0

用戶提交的SQL查詢由Hive轉換爲經過優化並轉換爲Tez Jobs的物理運算符樹,然後在Hadoop集羣上執行。 Hadoop中的分佈式SQL查詢處理與傳統的關係查詢引擎在處理中間結果集時不同。 Hive查詢處理通常需要對中間結果集進行排序和重組;這被稱爲Hadoop說法中的混洗。

蜂巢中現有的大多數查詢優化都是關於最小化洗牌成本。目前,用戶必須使用正確的連接順序向Hive提交優化的查詢,以便高效地執行查詢。 Hive中的邏輯優化僅限於過濾器下推,投影修剪和分區修剪。基於成本的邏輯優化可以顯着提高Apache Hive的查詢延遲和易用性。

加入重新排序和加入算法選擇是可以從基於成本的優化器受益的優化中的一小部分。基於成本的優化器可以讓用戶不必按照正確的順序重新排列連接,或者通過使用查詢提示和配置選項來指定連接算法。這可能使用戶無需擔心查詢優化就可以將報告和ETL需求建模爲接近業務流程。

閱讀wiki,它得到了你想要的。如果您有關於代碼的具體問題,請發佈您嘗試的內容以及您希望實現的內容。