HiveJDBC连接
Hive JDBC连接
实验⽬的
1.掌握Hive JDBC连接⽅法
实验原理
Hive是⼤数据技术簇中进⾏数据仓库应⽤的基础组件,是其它类似数据仓库应⽤的对⽐基准。基础的数据操作我们可以通过脚本⽅式以Hive-client进⾏处理。若需要开发应⽤程序,则需要使⽤Hive的JDBC驱动进⾏连接。
Hive JDBC驱动连接分为两种,早期的是HiveServer,最新的是HiveServer2,前者本⾝存在很多的问题,如安全性、并发性等,后者很好的解决了诸如安全性和并发性等问题。
实验环境
Linux Ubuntu 16.04
jdk-7u75-linux-x64
hadoop-2.6.0-cdh5.4.5
mysql-5.5.53
实验内容
练习使⽤JDBC⽅式连接Hive,通过java代码操作Hive。
实验步骤
1.⾸先在Linux本地,新建/data/hive6⽬录,⽤于存放所需⽂件。
mkdir -p /data/hive6
2.切换到/data/hive6⽬录下,下载依赖包
cd /data/hive6
wget 192.168.19.201:60000/allfiles/hive6/
3.解压⽂件⾄当前⽂件夹
tar zxvf
4.切换到/apps/hive/conf⽬录下,修改l⽂件,将以下配置写⼊
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
mysql下载jar包
<value>127.0.0.1</value>
</property>
5.切换到/apps/hadoop/sbin⽬录下,开启Hadoop相关进程
cd /apps/hadoop/sbin
./start-all.sh
6.开启mysql服务
sudo service mysql start
7.切换到/apps/hive⽬录下,启动hiveserver2
cd /apps/hive
./bin/hive --service hiveserver2
8.另外开启⼀个终端模拟器,使⽤netstat命令查看⼀下10000端⼝
netstat -nptl |grep 10000
9.切换到/apps/hive/bin⽬录下,开启beeline
cd /apps/hive/bin
./beeline
10.使⽤ (!connect jdbc:hive2://ip地址:10000 hiveuser hivepassword )测试是否可以连接,username和password为创建的⽤户名和密码。
!connect jdbc:hive2://127.0.0.1:10000
11.打开eclipse,创建java项⽬并编写代码,实现Hive的JDBC连接
创建⼀个名为hivejdbc的java项⽬
12.创建名为hivetest的包
13.创建⼀个lib⽂件夹,⽤于存放项⽬依赖的jar包
14.将之前解压到/data/hive6/lib中的jar包添加到本项⽬中,并添加路径
15.创建名为HiveJDBC的类
16.完整代码为:
package hivetest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class HiveJDBC {
private static Connection conn=null;
public static void main(String args[])throws Exception{
try{
Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection("jdbc:hive2://127.0.0.1:10000/hive","root","");                          Statement ateStatement();
String sql1="select * from tbtest";
ResultSet uteQuery(sql1);
()){
System.out.String(1)+"    "+rs.getString(2));
}
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}
}
}
程序编写完成后,我们需要在hive中准备⼀些测试数据。
17.另外开启⼀个终端模拟器,开启hive
hive
18.创建并使⽤hive数据库
create database hive;
use hive;
19.创建⼀个tbtest表,包含两个字段(name string和age int),分隔符为 ’\t‘
create table tbtest(name string,age int)
row format delimited fields terminated by '\t';
20.另开⼀个终端模拟器,切换到/data⽬录下并使⽤vim命令编辑⼀个⽂件,名为
cd /data
21.将以下内容写⼊到⽂件中
student1 18
student2 20
student3 22
22.在开启hive的终端模拟器,将/⽂件导⼊到tbtest表中
load data local inpath'/' into table tbtest;
23.打开eclipse,执⾏之前编写的代码,测试hive是否能够通过JDBC连接
在console界⾯能看到hive中的tbtest表信息,说明Hive JDBC连接成功,接下来我们就可以更改代码来实现我们⾃⼰的功能了。实验⾄此就结束了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。