hive1.2.1原始碼匯入eclipse閱讀以及除錯
本地環境:centos6.5 +hadoop2.6.0偽分佈安裝+hive1.2.1
1.下載hive1.2.1 原始碼,用maven進行編譯原始碼。
mvn clean install -DskipTests -Phadoop-2 -Dhadoop.version=2.6.0 -Dyarn.version=2.6.0
2.在eclipse中建立User Libraries(windows - preferences)。新建HADOOP_LIB,HIVE_LIB,分別將hadoop安裝包的jar包以及將hive安裝包中的jar包匯入。
3.指定HADOOP_CONF_DIR,HIVE_CONF_DIR ,這兩個目錄分別是hadoop和hive的配置檔案,我在本機是偽分佈啟動的hadoop,想要除錯的話,需要在本機偽分佈啟用hadoop並且hive配置檔案也要正確配置。hive需要按下述方法在eclipse中啟動。(即本機需要有偽分散式hadoop+hive環境正確執行)
4.新建一個java maven專案hive-src(ant專案也可以,沒有影響)。
構建build path,匯入hadoop和hive庫,以及本地的hadoop和hive的配置檔案
5.可以在專案的依賴的HIVE_LIB下,開啟找到hive-cli-1.2.1.jar,開啟,點選相應的類。然後將第一步編譯得到的程式碼跟類關聯(source attachment)。這樣就可以檢視程式碼了。
6. 可以在正常模式下啟動hive,或者在debug模式下除錯程式碼。hive cli的入口類是org.apache.hadoop.hive.cli.CliDriver.
點選debug就可以進入hive程式碼的除錯了。
如圖所示,可在debug模式下跟蹤程式碼,在控制檯可以輸入sql。