实验操作
1. 使用eclipse创建JDBC程序
(1)点击eclipse图标打开eclipse。
![](https://img.haomeiwen.com/i3517338/dd6f26c9d99af171.png)
(2)打开eclipse后,点击Open Perspective:
![](https://img.haomeiwen.com/i3517338/ca7f15d7a4c92380.png)
(3)在弹出窗口中选中"Java",并点击"OK"
![](https://img.haomeiwen.com/i3517338/359566147c978278.png)
(4)右键点击程序主界面左侧空白处,在右键菜单中选择"Import"
![](https://img.haomeiwen.com/i3517338/28c153bfc0dd7037.png)
(5)在弹出窗口中依次点击选择“General”,“Existing Projects into Workspace”,接着点击“Next”
![](https://img.haomeiwen.com/i3517338/c5952ec72c0033ff.png)
(6)此时在弹出窗口右上角点击“Browse...”
![](https://img.haomeiwen.com/i3517338/5ae682e2ef1568e5.png)
(7)在弹出窗口中点击Hive文件夹,再点击“OK”
![](https://img.haomeiwen.com/i3517338/cef8bee78d94408b.png)
(8)此时点击“finish”即可进入程序主界面
![](https://img.haomeiwen.com/i3517338/2f0cbff6de190839.png)
(9)在程序主界面左侧Package Explorer中,右键名为"Hive"的项目,在右键菜单选择"New"中的"Package"选项
![](https://img.haomeiwen.com/i3517338/36e06969492da48c.png)
(10)在弹出窗口中输入包的名称"hive"后,点击"Finish"
![](https://img.haomeiwen.com/i3517338/8a2071a19b273e7a.png)
(11)接下来创建类,我们将要创建9个不同的类来完成本次实验。右键名为"hive"的包,在右键菜单中选择"New"选项中的"Class"
![](https://img.haomeiwen.com/i3517338/604a78c5569439c2.png)
(12)在弹出窗口中输入类的名称(注意:此处的类名务必输入第一个程序的类名"HiveCreateDb"),最后点击"Finish"即可退回主界面
此时就可以编写JDBC程序了
![](https://img.haomeiwen.com/i3517338/d26569f45344ab2f.png)
(13)在此界面编写程序
![](https://img.haomeiwen.com/i3517338/fa07e6648971cd47.png)
整个实验我们需要在hive新建9个类,分别是
HiveCreateDb
HiveCreateTable
HiveLoadData
HiveAlterRenameTo
HiveDropTable
HiveDropDb
HiveQLWhere
HiveQLGroupBy
HiveQLOrderBy
2. 使用eclipse编写JDBC程序
(1)创建数据库
①在这个HiveCreateDb类中编写代码实现创建数据库的功能,核心代码如下:
![](https://img.haomeiwen.com/i3517338/a182238d84357f5e.png)
在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
![](https://img.haomeiwen.com/i3517338/79171d71bb0bd422.png)
②当代码执行成功后,主界面下方的控制台会打印出代码输出语句中的“Database userdb created successfully.”。另外可以点击控制台右上角的最大化按钮,能够更直观的看到相关的信息。
![](https://img.haomeiwen.com/i3517338/ea87a73b5e53ec12.png)
③下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/9b4e582a2ff88739.png)
④此时,我们点击虚拟机1进入master节点,输入hive命令进入HIveQL,通过查询数据库的命令可以检查到该数据库已创建成功。
show databases;
![](https://img.haomeiwen.com/i3517338/9918d874acce1a80.png)
⑤ 注意,这里提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
点击选择左边任务栏中“终端”的图标即可打开“终端”命令行程序
![](https://img.haomeiwen.com/i3517338/3653dd19628fd925.png)
切换到root用户下:
su
然后输入密码(密码不可见):123456
将完整代码导入eclipse:
cp /opt/code/HiveCreateDb.java /home/ubuntu/workspace/Hive/src/hive/HiveCreateDb.java
![](https://img.haomeiwen.com/i3517338/6e8c919bcee6c8cd.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
![](https://img.haomeiwen.com/i3517338/11c129187ad44bfc.png)
(2)创建表
重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveCreateTable类
① 在这个HiveCreateTable类中编写代码实现创建表的功能,核心代码如下:
![](https://img.haomeiwen.com/i3517338/9f4c572c73496363.png)
② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
当代码执行成功后,控制台会打印出代码输出语句中的“Table employee created.”。下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/2db25d04f7f40d5d.png)
③ 此时,我们点击虚拟机1进入master节点,使用userdb数据库,然后通过查询表的命令可以检查到该表已创建成功。
use userdb;
show tables;
![](https://img.haomeiwen.com/i3517338/0cd7a9eca0beb584.png)
④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
将完整代码导入eclipse:
cp /opt/code/HiveCreateTable.java /home/ubuntu/workspace/Hive/src/hive/HiveCreateTable.java
![](https://img.haomeiwen.com/i3517338/e25ac95c2bc917c9.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
![](https://img.haomeiwen.com/i3517338/e8fc0404ad5c9759.png)
(3)加载数据
重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveAlterRenameTo类
① 在这个类中编写代码实现加载的功能,核心代码如下:
![](https://img.haomeiwen.com/i3517338/9b57fc1c592b26e4.png)
② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
当代码执行成功后,控制台会打印出代码输出语句中的“Data loaded successfully.”。下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/13a67d5ed9edb39d.png)
③ 此时,我们点击虚拟机1进入master节点,然后通过查询命令可以检查到该数据已导入成功。
select * from employee;
![](https://img.haomeiwen.com/i3517338/1abe700ab1338f14.png)
④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
将完整代码导入eclipse:
cp /opt/code/HiveLoadData.java /home/ubuntu/workspace/Hive/src/hive/HiveLoadData.java
![](https://img.haomeiwen.com/i3517338/a26ed95245b97425.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
![](https://img.haomeiwen.com/i3517338/78f6f86996bc121e.png)
(4)表的重命名
重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveAlterRenameTo类
① 在这个HiveAlterRenameTo类中编写代码实现表的重命名的功能,核心代码如下:
![](https://img.haomeiwen.com/i3517338/e1d3454ca1167a03.png)
② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
当代码执行成功后,控制台会打印出代码输出语句中的“Table Renamed successfully”。下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/d33650936a1ce8b0.png)
③ 此时,我们点击虚拟机1进入master节点,然后通过查询命令可以检查到该表已被重新命名。
show tables;
![](https://img.haomeiwen.com/i3517338/2bc98129412df50e.png)
④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
将完整代码导入eclipse:
cp /opt/code/HiveAlterRenameTo.java /home/ubuntu/workspace/Hive/src/hive/HiveAlterRenameTo.java
![](https://img.haomeiwen.com/i3517338/0bab87710815d705.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
![](https://img.haomeiwen.com/i3517338/044d3bbd0fe33f41.png)
(5)删除表
重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveDropTable类
① 在这个类中编写代码实现删除表的功能,核心代码如下:
![](https://img.haomeiwen.com/i3517338/5e69f9af40249350.png)
② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
当代码执行成功后,控制台会打印出代码输出语句中的“Drop Table emp successfully”。下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/700e9d6b42bf27bf.png)
③ 此时,我们点击虚拟机1进入master节点,然后通过查询命令可以检查到该表已被删除。
show tables;
![](https://img.haomeiwen.com/i3517338/ecf2e77a59c72bdd.png)
④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
将完整代码导入eclipse:
cp /opt/code/HiveDropTable.java /home/ubuntu/workspace/Hive/src/hive/HiveDropTable.java
![](https://img.haomeiwen.com/i3517338/e2baa3b6a9668b13.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
![](https://img.haomeiwen.com/i3517338/154cadebbcb98071.png)
(6)删除数据库
重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveDropDb类
① 在这个HiveDropDb类中编写代码实现删除数据库的功能,核心代码如下:
![](https://img.haomeiwen.com/i3517338/1585bed2c92ddc77.png)
② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
当代码执行成功后,控制台会打印出代码输出语句中的“Drop database userdb”。下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/6c437e8b0b961e29.png)
③ 此时,我们点击虚拟机1进入master节点,然后通过查询命令可以检查到该数据库已被删除。
show databases;
![](https://img.haomeiwen.com/i3517338/102d79a335f4754e.png)
④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
将完整代码导入eclipse:
cp /opt/code/HiveDropDb.java /home/ubuntu/workspace/Hive/src/hive/HiveDropDb.java
![](https://img.haomeiwen.com/i3517338/7c6ea94e19f07ae8.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
![](https://img.haomeiwen.com/i3517338/8ad9168698be7b17.png)
(7)SELECT...WHERE语句的使用
查看薪资超过30000的员工:
重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveQLWhere类
① 在这个HiveQLWhere类中编写代码实现查询的功能,
核心代码如下:
![](https://img.haomeiwen.com/i3517338/d2e79e0d50f19555.png)
② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
当代码执行成功后,控制台会打印出筛选出来的结果。下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/7695fd186aaba3c3.png)
③ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
将完整代码导入eclipse:
cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java
![](https://img.haomeiwen.com/i3517338/ca6948f9e4a6c2a0.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
![](https://img.haomeiwen.com/i3517338/adc0d73c4c8b5f81.png)
(8)Group by语句的使用
查询获取每个部门的员工人数:
重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveQLGroupBy类
① 在这个HiveQLGroupBy类中编写代码实现查询的功能,核心代码如下:
![](https://img.haomeiwen.com/i3517338/7c5fa68621c40794.png)
② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
当代码执行成功后,控制台会打印出筛选出来的结果。下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/69f43bcca89d2bc1.png)
③ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
将完整代码导入eclipse:
cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java
![](https://img.haomeiwen.com/i3517338/f0ce294338c93f63.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
(9)Order by语句的使用
重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveQLOrderBy类
获取员工的详细信息,并把结果按照部门名称排序:
① 在这个类中编写代码实现查询的功能,核心代码如下:
![](https://img.haomeiwen.com/i3517338/9f5edf3cb077ffe5.png)
② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。
当代码执行成功后,控制台会打印出筛选出来的结果。下图为最大化的控制台输出的信息。
![](https://img.haomeiwen.com/i3517338/dae276bf94e2279c.png)
③ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。
将完整代码导入eclipse:
cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java
![](https://img.haomeiwen.com/i3517338/43d31eeb02566039.png)
单击代码编辑区任意位置,即可刷新并呈现完整代码
网友评论