Apache Hive在本質(zhì)上屬于一套數(shù)據(jù)倉儲平臺,用于同存儲在HDFS或者HBase內(nèi)的大規(guī)模結(jié)構(gòu)化數(shù)據(jù)集進行交互。Hive查詢語言在這一點上類似于SQL,二者都能夠與Hadoop實現(xiàn)良好集成。而Pig則不同,其執(zhí)行流程為純聲明性,因此適合供數(shù)據(jù)科學(xué)家用于實現(xiàn)數(shù)據(jù)呈現(xiàn)與分析。
在與Hive進行交互時,用戶可以直接通過Hive命令行界面直接接入,或者與Hiveserver交互。任何提交查詢都會首先由該驅(qū)動程序占用,而后由編譯器進行語法及語義驗證。另外,Hive metastore負責保存全部與Hive相關(guān)數(shù)據(jù)的模式/映射關(guān)系,其在驗證查詢中信息語義方面扮演著重要角色。該驅(qū)動立足于語義之上執(zhí)行優(yōu)化,同時負責準備執(zhí)行規(guī)劃并將其提交至HQL查詢引擎。這套引擎依賴于實際執(zhí)行引擎(例如MapReduce與Spark等)。任何對模式的成功修改都會通過HQL處理引擎被更新至metastore當中。
大家可以參閱更多細節(jié)信息:
https://en.wikipedia.org/wiki/Apache_Hive
Pig: