Hive之 hive架構

張衝andy發表於2017-09-18

                          Hive架構圖

主要分為以下幾個部分:

  • 使用者介面,包括 命令列CLIClientWeb介面WUIJDBC/ODBC介面等
  • 中介軟體:包括thrift介面和JDBC/ODBC的服務端,用於整合Hive和其他程式。
  • 後設資料metadata儲存,通常是儲存在關聯式資料庫如 mysql, derby 中的系統引數
  • 底層驅動:包括HiveQL直譯器、編譯器、最佳化器、執行器(引擎)。
  • Hadoop:用 HDFS 進行儲存,利用 MapReduce 進行計算。
  1. 使用者介面主要有三個:CLIClient 和 WUI。其中最常用的是 CLICli 啟動的時候,會同時啟動一個 Hive 副本。Client 是 Hive 的客戶端,使用者連線至 Hive Server。在啟動 Client 模式的時候,需要指出 Hive Server 所在節點,並且在該節點啟動 Hive Server。 WUI 是透過瀏覽器訪問 Hive
  2. Hive 將後設資料儲存在資料庫中,如 mysqlderbyHive 中的後設資料包括表的名字,表的列和分割槽及其屬性,表的屬性(是否為外部表等),表的資料所在目錄等。
  3. 直譯器、編譯器、最佳化器完成 HQL 查詢語句從詞法分析、語法分析、編譯生成執行計劃、最佳化以及生成最佳執行計劃。生成的查詢計劃儲存在 HDFS 中,並在隨後有 MapReduce 呼叫執行。
  4. Hive 的資料儲存在 HDFS 中,大部分的查詢由 MapReduce 完成(包含 的查詢,比如 select * from tbl 不會生成 MapRedcue 任務)。

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

相關文章