實(shí)驗(yàn)操作
1. 使用eclipse創(chuàng)建JDBC程序
(1)點(diǎn)擊eclipse圖標(biāo)打開(kāi)eclipse。

(2)打開(kāi)eclipse后,點(diǎn)擊Open Perspective:

(3)在彈出窗口中選中"Java",并點(diǎn)擊"OK"

(4)右鍵點(diǎn)擊程序主界面左側(cè)空白處,在右鍵菜單中選擇"Import"

(5)在彈出窗口中依次點(diǎn)擊選擇“General”,“Existing Projects into Workspace”,接著點(diǎn)擊“Next”

(6)此時(shí)在彈出窗口右上角點(diǎn)擊“Browse...”

(7)在彈出窗口中點(diǎn)擊Hive文件夾,再點(diǎn)擊“OK”

(8)此時(shí)點(diǎn)擊“finish”即可進(jìn)入程序主界面

(9)在程序主界面左側(cè)Package Explorer中,右鍵名為"Hive"的項(xiàng)目,在右鍵菜單選擇"New"中的"Package"選項(xiàng)

(10)在彈出窗口中輸入包的名稱(chēng)"hive"后,點(diǎn)擊"Finish"

(11)接下來(lái)創(chuàng)建類(lèi),我們將要?jiǎng)?chuàng)建9個(gè)不同的類(lèi)來(lái)完成本次實(shí)驗(yàn)。右鍵名為"hive"的包,在右鍵菜單中選擇"New"選項(xiàng)中的"Class"

(12)在彈出窗口中輸入類(lèi)的名稱(chēng)(注意:此處的類(lèi)名務(wù)必輸入第一個(gè)程序的類(lèi)名"HiveCreateDb"),最后點(diǎn)擊"Finish"即可退回主界面
此時(shí)就可以編寫(xiě)JDBC程序了

(13)在此界面編寫(xiě)程序

整個(gè)實(shí)驗(yàn)我們需要在hive新建9個(gè)類(lèi),分別是
HiveCreateDb
HiveCreateTable
HiveLoadData
HiveAlterRenameTo
HiveDropTable
HiveDropDb
HiveQLWhere
HiveQLGroupBy
HiveQLOrderBy
2. 使用eclipse編寫(xiě)JDBC程序
(1)創(chuàng)建數(shù)據(jù)庫(kù)
①在這個(gè)HiveCreateDb類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)創(chuàng)建數(shù)據(jù)庫(kù)的功能,核心代碼如下:

在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。

②當(dāng)代碼執(zhí)行成功后,主界面下方的控制臺(tái)會(huì)打印出代碼輸出語(yǔ)句中的“Database userdb created successfully.”。另外可以點(diǎn)擊控制臺(tái)右上角的最大化按鈕,能夠更直觀的看到相關(guān)的信息。

③下圖為最大化的控制臺(tái)輸出的信息。

④此時(shí),我們點(diǎn)擊虛擬機(jī)1進(jìn)入master節(jié)點(diǎn),輸入hive命令進(jìn)入HIveQL,通過(guò)查詢(xún)數(shù)據(jù)庫(kù)的命令可以檢查到該數(shù)據(jù)庫(kù)已創(chuàng)建成功。
show databases;

⑤ 注意,這里提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
點(diǎn)擊選擇左邊任務(wù)欄中“終端”的圖標(biāo)即可打開(kāi)“終端”命令行程序

切換到root用戶(hù)下:
su
然后輸入密碼(密碼不可見(jiàn)):123456
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveCreateDb.java /home/ubuntu/workspace/Hive/src/hive/HiveCreateDb.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼

(2)創(chuàng)建表
重復(fù)創(chuàng)建類(lèi)的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveCreateTable類(lèi)
① 在這個(gè)HiveCreateTable類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)創(chuàng)建表的功能,核心代碼如下:

② 在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。
當(dāng)代碼執(zhí)行成功后,控制臺(tái)會(huì)打印出代碼輸出語(yǔ)句中的“Table employee created.”。下圖為最大化的控制臺(tái)輸出的信息。

③ 此時(shí),我們點(diǎn)擊虛擬機(jī)1進(jìn)入master節(jié)點(diǎn),使用userdb數(shù)據(jù)庫(kù),然后通過(guò)查詢(xún)表的命令可以檢查到該表已創(chuàng)建成功。
use userdb;
show tables;

④ 同樣的,這里也提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveCreateTable.java /home/ubuntu/workspace/Hive/src/hive/HiveCreateTable.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼

(3)加載數(shù)據(jù)
重復(fù)創(chuàng)建類(lèi)的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveAlterRenameTo類(lèi)
① 在這個(gè)類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)加載的功能,核心代碼如下:

② 在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。
當(dāng)代碼執(zhí)行成功后,控制臺(tái)會(huì)打印出代碼輸出語(yǔ)句中的“Data loaded successfully.”。下圖為最大化的控制臺(tái)輸出的信息。

③ 此時(shí),我們點(diǎn)擊虛擬機(jī)1進(jìn)入master節(jié)點(diǎn),然后通過(guò)查詢(xún)命令可以檢查到該數(shù)據(jù)已導(dǎo)入成功。
select * from employee;

④ 同樣的,這里也提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveLoadData.java /home/ubuntu/workspace/Hive/src/hive/HiveLoadData.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼

(4)表的重命名
重復(fù)創(chuàng)建類(lèi)的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveAlterRenameTo類(lèi)
① 在這個(gè)HiveAlterRenameTo類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)表的重命名的功能,核心代碼如下:

② 在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。
當(dāng)代碼執(zhí)行成功后,控制臺(tái)會(huì)打印出代碼輸出語(yǔ)句中的“Table Renamed successfully”。下圖為最大化的控制臺(tái)輸出的信息。

③ 此時(shí),我們點(diǎn)擊虛擬機(jī)1進(jìn)入master節(jié)點(diǎn),然后通過(guò)查詢(xún)命令可以檢查到該表已被重新命名。
show tables;

④ 同樣的,這里也提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveAlterRenameTo.java /home/ubuntu/workspace/Hive/src/hive/HiveAlterRenameTo.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼

(5)刪除表
重復(fù)創(chuàng)建類(lèi)的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveDropTable類(lèi)
① 在這個(gè)類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)刪除表的功能,核心代碼如下:

② 在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。
當(dāng)代碼執(zhí)行成功后,控制臺(tái)會(huì)打印出代碼輸出語(yǔ)句中的“Drop Table emp successfully”。下圖為最大化的控制臺(tái)輸出的信息。

③ 此時(shí),我們點(diǎn)擊虛擬機(jī)1進(jìn)入master節(jié)點(diǎn),然后通過(guò)查詢(xún)命令可以檢查到該表已被刪除。
show tables;

④ 同樣的,這里也提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveDropTable.java /home/ubuntu/workspace/Hive/src/hive/HiveDropTable.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼

(6)刪除數(shù)據(jù)庫(kù)
重復(fù)創(chuàng)建類(lèi)的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveDropDb類(lèi)
① 在這個(gè)HiveDropDb類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)刪除數(shù)據(jù)庫(kù)的功能,核心代碼如下:

② 在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。
當(dāng)代碼執(zhí)行成功后,控制臺(tái)會(huì)打印出代碼輸出語(yǔ)句中的“Drop database userdb”。下圖為最大化的控制臺(tái)輸出的信息。

③ 此時(shí),我們點(diǎn)擊虛擬機(jī)1進(jìn)入master節(jié)點(diǎn),然后通過(guò)查詢(xún)命令可以檢查到該數(shù)據(jù)庫(kù)已被刪除。
show databases;

④ 同樣的,這里也提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveDropDb.java /home/ubuntu/workspace/Hive/src/hive/HiveDropDb.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼

(7)SELECT...WHERE語(yǔ)句的使用
查看薪資超過(guò)30000的員工:
重復(fù)創(chuàng)建類(lèi)的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveQLWhere類(lèi)
① 在這個(gè)HiveQLWhere類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)查詢(xún)的功能,
核心代碼如下:

② 在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。
當(dāng)代碼執(zhí)行成功后,控制臺(tái)會(huì)打印出篩選出來(lái)的結(jié)果。下圖為最大化的控制臺(tái)輸出的信息。

③ 同樣的,這里也提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼

(8)Group by語(yǔ)句的使用
查詢(xún)獲取每個(gè)部門(mén)的員工人數(shù):
重復(fù)創(chuàng)建類(lèi)的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveQLGroupBy類(lèi)
① 在這個(gè)HiveQLGroupBy類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)查詢(xún)的功能,核心代碼如下:

② 在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。
當(dāng)代碼執(zhí)行成功后,控制臺(tái)會(huì)打印出篩選出來(lái)的結(jié)果。下圖為最大化的控制臺(tái)輸出的信息。

③ 同樣的,這里也提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼
(9)Order by語(yǔ)句的使用
重復(fù)創(chuàng)建類(lèi)的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveQLOrderBy類(lèi)
獲取員工的詳細(xì)信息,并把結(jié)果按照部門(mén)名稱(chēng)排序:
① 在這個(gè)類(lèi)中編寫(xiě)代碼實(shí)現(xiàn)查詢(xún)的功能,核心代碼如下:

② 在代碼編寫(xiě)完成之后,可以右鍵代碼編輯區(qū)任意位置,選擇"Run As"中的"Java Application"來(lái)運(yùn)行代碼。
當(dāng)代碼執(zhí)行成功后,控制臺(tái)會(huì)打印出篩選出來(lái)的結(jié)果。下圖為最大化的控制臺(tái)輸出的信息。

③ 同樣的,這里也提供一種完整代碼的拷貝方法,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序。
將完整代碼導(dǎo)入eclipse:
cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java

單擊代碼編輯區(qū)任意位置,即可刷新并呈現(xiàn)完整代碼