1. Metastore:Hive Metastore 是 Hive 中的一個關鍵組件,用于存儲 Hive 元數據信息。元數據信息包括數據庫、表、分區、列、表的存儲格式、分隔符等信息。Metastore 通常與關系型數據庫(如 MySQL、PostgreSQL 等)配合使用,用于保證元數據的持久化存儲和數據的持久性。
2. Driver:Hive Driver 是 Hive 查詢的控制中心,負責解析用戶提交的 HiveQL 查詢語句,生成邏輯查詢計劃,并將計劃轉化為物理執行計劃。Driver 還負責與 Metastore 交互,獲取元數據信息用于查詢執行。最后,Driver 還負責將物理執行計劃提交給 Executor 進行實際的查詢執行。
3. Executor:Hive Executor 是 Hive 查詢的執行引擎,負責執行 Driver 生成的物理執行計劃。Executor 主要包括 TaskTracker 和 Task 兩個組件。TaskTracker 負責將任務分發給可用的計算節點進行執行,而 Task 負責具體的任務執行,如掃描數據、計算等。Executor 還負責將執行結果返回給 Driver。
總的來說,Metastore 負責存儲元數據信息,Driver 負責查詢計劃的生成和任務調度,Executor 負責實際的查詢執行。這三個組件共同協作,實現了 Hive 查詢的功能。