使用JDBC程序操作Hive数据库

实验操作

1. 使用eclipse创建JDBC程序

(1)点击eclipse图标打开eclipse。

image

(2)打开eclipse后,点击Open Perspective:

image

(3)在弹出窗口中选中"Java",并点击"OK"

image

(4)右键点击程序主界面左侧空白处,在右键菜单中选择"Import"

image

(5)在弹出窗口中依次点击选择“General”,“Existing Projects into Workspace”,接着点击“Next”

image

(6)此时在弹出窗口右上角点击“Browse...”

image

(7)在弹出窗口中点击Hive文件夹,再点击“OK”

image

(8)此时点击“finish”即可进入程序主界面

image

(9)在程序主界面左侧Package Explorer中,右键名为"Hive"的项目,在右键菜单选择"New"中的"Package"选项

image

(10)在弹出窗口中输入包的名称"hive"后,点击"Finish"

image

(11)接下来创建类,我们将要创建9个不同的类来完成本次实验。右键名为"hive"的包,在右键菜单中选择"New"选项中的"Class"

image

(12)在弹出窗口中输入类的名称(注意:此处的类名务必输入第一个程序的类名"HiveCreateDb"),最后点击"Finish"即可退回主界面

此时就可以编写JDBC程序了

image

(13)在此界面编写程序

image

整个实验我们需要在hive新建9个类,分别是

HiveCreateDb

HiveCreateTable

HiveLoadData

HiveAlterRenameTo

HiveDropTable

HiveDropDb

HiveQLWhere

HiveQLGroupBy

HiveQLOrderBy

2. 使用eclipse编写JDBC程序

(1)创建数据库

①在这个HiveCreateDb类中编写代码实现创建数据库的功能,核心代码如下:

image

在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

image

②当代码执行成功后,主界面下方的控制台会打印出代码输出语句中的“Database userdb created successfully.”。另外可以点击控制台右上角的最大化按钮,能够更直观的看到相关的信息。

image

③下图为最大化的控制台输出的信息。

image

④此时,我们点击虚拟机1进入master节点,输入hive命令进入HIveQL,通过查询数据库的命令可以检查到该数据库已创建成功。

show databases;

image

⑤ 注意,这里提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

点击选择左边任务栏中“终端”的图标即可打开“终端”命令行程序

image

切换到root用户下:

su

然后输入密码(密码不可见):123456

将完整代码导入eclipse:

cp /opt/code/HiveCreateDb.java /home/ubuntu/workspace/Hive/src/hive/HiveCreateDb.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

image

(2)创建表

重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveCreateTable类

① 在这个HiveCreateTable类中编写代码实现创建表的功能,核心代码如下:

image

② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

当代码执行成功后,控制台会打印出代码输出语句中的“Table employee created.”。下图为最大化的控制台输出的信息。

image

③ 此时,我们点击虚拟机1进入master节点,使用userdb数据库,然后通过查询表的命令可以检查到该表已创建成功。

use userdb;

show tables;

image

④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

将完整代码导入eclipse:

cp /opt/code/HiveCreateTable.java /home/ubuntu/workspace/Hive/src/hive/HiveCreateTable.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

image

(3)加载数据

重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveAlterRenameTo类

① 在这个类中编写代码实现加载的功能,核心代码如下:

image

② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

当代码执行成功后,控制台会打印出代码输出语句中的“Data loaded successfully.”。下图为最大化的控制台输出的信息。

image

③ 此时,我们点击虚拟机1进入master节点,然后通过查询命令可以检查到该数据已导入成功。

select * from employee;

image

④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

将完整代码导入eclipse:

cp /opt/code/HiveLoadData.java /home/ubuntu/workspace/Hive/src/hive/HiveLoadData.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

image

(4)表的重命名

重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveAlterRenameTo类

① 在这个HiveAlterRenameTo类中编写代码实现表的重命名的功能,核心代码如下:

image

② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

当代码执行成功后,控制台会打印出代码输出语句中的“Table Renamed successfully”。下图为最大化的控制台输出的信息。

image

③ 此时,我们点击虚拟机1进入master节点,然后通过查询命令可以检查到该表已被重新命名。

show tables;

image

④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

将完整代码导入eclipse:

cp /opt/code/HiveAlterRenameTo.java /home/ubuntu/workspace/Hive/src/hive/HiveAlterRenameTo.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

image

(5)删除表

重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveDropTable类

① 在这个类中编写代码实现删除表的功能,核心代码如下:

image

② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

当代码执行成功后,控制台会打印出代码输出语句中的“Drop Table emp successfully”。下图为最大化的控制台输出的信息。

image

③ 此时,我们点击虚拟机1进入master节点,然后通过查询命令可以检查到该表已被删除。

show tables;

image

④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

将完整代码导入eclipse:

cp /opt/code/HiveDropTable.java /home/ubuntu/workspace/Hive/src/hive/HiveDropTable.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

image

(6)删除数据库

重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveDropDb类

① 在这个HiveDropDb类中编写代码实现删除数据库的功能,核心代码如下:

image

② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

当代码执行成功后,控制台会打印出代码输出语句中的“Drop database userdb”。下图为最大化的控制台输出的信息。

image

③ 此时,我们点击虚拟机1进入master节点,然后通过查询命令可以检查到该数据库已被删除。

show databases;

image

④ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

将完整代码导入eclipse:

cp /opt/code/HiveDropDb.java /home/ubuntu/workspace/Hive/src/hive/HiveDropDb.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

image

(7)SELECT...WHERE语句的使用

查看薪资超过30000的员工:

重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveQLWhere类

① 在这个HiveQLWhere类中编写代码实现查询的功能,

核心代码如下:

image

② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

当代码执行成功后,控制台会打印出筛选出来的结果。下图为最大化的控制台输出的信息。

image

③ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

将完整代码导入eclipse:

cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

image

(8)Group by语句的使用

查询获取每个部门的员工人数:

重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveQLGroupBy类

① 在这个HiveQLGroupBy类中编写代码实现查询的功能,核心代码如下:

image

② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

当代码执行成功后,控制台会打印出筛选出来的结果。下图为最大化的控制台输出的信息。

image

③ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

将完整代码导入eclipse:

cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

(9)Order by语句的使用

重复创建类的步骤【第一部分中的第(11)-(13)部】创建一个HiveQLOrderBy类

获取员工的详细信息,并把结果按照部门名称排序:

① 在这个类中编写代码实现查询的功能,核心代码如下:

image

② 在代码编写完成之后,可以右键代码编辑区任意位置,选择"Run As"中的"Java Application"来运行代码。

当代码执行成功后,控制台会打印出筛选出来的结果。下图为最大化的控制台输出的信息。

image

③ 同样的,这里也提供一种完整代码的拷贝方法,当不能根据核心代码的提示做出该程序时可以使用代码拷贝,来运行该程序。

将完整代码导入eclipse:

cp /opt/code/HiveQLGroupBy.java /home/ubuntu/workspace/Hive/src/hive/HiveQLGroupBy.java

image

单击代码编辑区任意位置,即可刷新并呈现完整代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容