Hive之 hive與hadoop的聯絡

張衝andy發表於2017-09-18

 

                                                                        Hive與Hadoop呼叫圖

解析:

1、提交sql 交給驅動
2、驅動編譯:解析相關的欄位表資訊
3、去metastore查詢相關的資訊 返回欄位表資訊
4、編譯返回資訊 發給驅動
5、驅動傳送一個執行計劃 交給執行引擎
6、執行計劃 (三種形式: metastore、namenode、metastore+namenode+mapreduce)

形式一 > DDL 對資料庫表的操作的 直接和metastore互動 。 比如:create table t1(name string);
形式二 > dfs ops 直接和namenode取資料 。 比如: select * from t1;
形式三 > 把job交給job tracker,讓task tracker執行 返回執行資訊 + 完成job返回資料資訊、找namenode查資料 。 
比如:select * from t1 where col=X ;

7、返回結果資訊集

總結: hive 執行在 hadoop 之上, 某些操作需要呼叫 hdfs 中的 mapreduce 。 hive 後設資料儲存在 matestore 中, 而非後設資料(如 table 裡的資料)儲存在hdfs之上。

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

相關文章