實(shí)驗(yàn)操作
1. 使用eclipse創(chuàng)建JDBC程序
(1)點(diǎn)擊eclipse圖標(biāo)打開eclipse祠斧。
(2)打開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)在彈出窗口中輸入包的名稱"hive"后冠王,點(diǎn)擊"Finish"
(11)接下來(lái)創(chuàng)建類赶撰,我們將要?jiǎng)?chuàng)建9個(gè)不同的類來(lái)完成本次實(shí)驗(yàn)。右鍵名為"hive"的包,在右鍵菜單中選擇"New"選項(xiàng)中的"Class"
(12)在彈出窗口中輸入類的名稱(注意:此處的類名務(wù)必輸入第一個(gè)程序的類名"HiveCreateDb"),最后點(diǎn)擊"Finish"即可退回主界面
此時(shí)就可以編寫JDBC程序了
(13)在此界面編寫程序
整個(gè)實(shí)驗(yàn)我們需要在hive新建9個(gè)類豪娜,分別是
HiveCreateDb
HiveCreateTable
HiveLoadData
HiveAlterRenameTo
HiveDropTable
HiveDropDb
HiveQLWhere
HiveQLGroupBy
HiveQLOrderBy
2. 使用eclipse編寫JDBC程序
(1)創(chuàng)建數(shù)據(jù)庫(kù)
①在這個(gè)HiveCreateDb類中編寫代碼實(shí)現(xiàn)創(chuàng)建數(shù)據(jù)庫(kù)的功能餐胀,核心代碼如下:
在代碼編寫完成之后,可以右鍵代碼編輯區(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伟叛,通過查詢數(shù)據(jù)庫(kù)的命令可以檢查到該數(shù)據(jù)庫(kù)已創(chuàng)建成功。
show databases;
⑤ 注意脐嫂,這里提供一種完整代碼的拷貝方法统刮,當(dāng)不能根據(jù)核心代碼的提示做出該程序時(shí)可以使用代碼拷貝,來(lái)運(yùn)行該程序账千。
點(diǎn)擊選擇左邊任務(wù)欄中“終端”的圖標(biāo)即可打開“終端”命令行程序
切換到root用戶下:
su
然后輸入密碼(密碼不可見):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)建類的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveCreateTable類
① 在這個(gè)HiveCreateTable類中編寫代碼實(shí)現(xiàn)創(chuàng)建表的功能,核心代碼如下:
② 在代碼編寫完成之后匀奏,可以右鍵代碼編輯區(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ù),然后通過查詢表的命令可以檢查到該表已創(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)建類的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveAlterRenameTo類
① 在這個(gè)類中編寫代碼實(shí)現(xiàn)加載的功能暮屡,核心代碼如下:
② 在代碼編寫完成之后撤摸,可以右鍵代碼編輯區(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)代承,然后通過查詢命令可以檢查到該數(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)建類的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveAlterRenameTo類
① 在這個(gè)HiveAlterRenameTo類中編寫代碼實(shí)現(xiàn)表的重命名的功能,核心代碼如下:
② 在代碼編寫完成之后耻讽,可以右鍵代碼編輯區(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)具则,然后通過查詢命令可以檢查到該表已被重新命名。
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)建類的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveDropTable類
① 在這個(gè)類中編寫代碼實(shí)現(xiàn)刪除表的功能,核心代碼如下:
② 在代碼編寫完成之后葛峻,可以右鍵代碼編輯區(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)佣耐,然后通過查詢命令可以檢查到該表已被刪除。
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)建類的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveDropDb類
① 在這個(gè)HiveDropDb類中編寫代碼實(shí)現(xiàn)刪除數(shù)據(jù)庫(kù)的功能懒叛,核心代碼如下:
② 在代碼編寫完成之后,可以右鍵代碼編輯區(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)众旗,然后通過查詢命令可以檢查到該數(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ǔ)句的使用
查看薪資超過30000的員工:
重復(fù)創(chuàng)建類的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveQLWhere類
① 在這個(gè)HiveQLWhere類中編寫代碼實(shí)現(xiàn)查詢的功能持际,
核心代碼如下:
② 在代碼編寫完成之后,可以右鍵代碼編輯區(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ǔ)句的使用
查詢獲取每個(gè)部門的員工人數(shù):
重復(fù)創(chuàng)建類的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveQLGroupBy類
① 在這個(gè)HiveQLGroupBy類中編寫代碼實(shí)現(xiàn)查詢的功能,核心代碼如下:
② 在代碼編寫完成之后莹弊,可以右鍵代碼編輯區(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)建類的步驟【第一部分中的第(11)-(13)部】創(chuàng)建一個(gè)HiveQLOrderBy類
獲取員工的詳細(xì)信息贫途,并把結(jié)果按照部門名稱排序:
① 在這個(gè)類中編寫代碼實(shí)現(xiàn)查詢的功能,核心代碼如下:
② 在代碼編寫完成之后待侵,可以右鍵代碼編輯區(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)完整代碼