當前位置:編程學習大全網 - 網站源碼 - 如何通俗地理解Hive的工作原理

如何通俗地理解Hive的工作原理

Hive是建立在 Hadoop 上的數據倉庫基礎構架。它提供了壹系列的工具,可以用來進行數據提取轉化加載(ETL),這是壹種可以存儲、查詢和分析存儲在 Hadoop 中的大規模數據的機制。Hive 定義了簡單的類 SQL 查詢語言,稱為 HQL,它允許熟悉 SQL 的用戶查詢數據。同時,這個語言也允許熟悉 MapReduce 開發者的開發自定義的 mapper 和 reducer 來處理內建的 mapper 和 reducer 無法完成的復雜的分析工作。

流程大致步驟為:

1. 用戶提交查詢等任務給Driver。

2. 編譯器獲得該用戶的任務Plan。

3. 編譯器Compiler根據用戶任務去MetaStore中獲取需要的Hive的元數據信息。

4. 編譯器Compiler得到元數據信息,對任務進行編譯,先將HiveQL轉換為抽象語法樹,然後將抽象語法樹轉換成查詢塊,將查詢塊轉化為邏輯的查詢計劃,重寫邏輯查詢計劃,將邏輯計劃轉化為物理的計劃(MapReduce), 最後選擇最佳的策略。

5. 將最終的計劃提交給Driver。

6. Driver將計劃Plan轉交給ExecutionEngine去執行,獲取元數據信息,提交給JobTracker或者SourceManager執行該任務,任務會直接讀取HDFS中文件進行相應的操作。

7. 獲取執行的結果。

8. 取得並返回執行結果。

  • 上一篇:如何使用QEMU來模擬ARMv8開發平臺
  • 下一篇:太空中有黑洞嗎?
  • copyright 2024編程學習大全網