Hive JDBC

  • Post author:
  • Post category:其他


Hive的jdbc编程

hive实现了jdbc接口,所以可以通过java代码操作。但是实际应用中用的不多,一般都是在HDFS储存的文件基础上建立外部表来进行查询处理。

实现步骤

1.在服务器端开启HiveServer服务

./hive –service hiveserver2  &  (以后台线程启动)

2.创建本地工程,导入jar包

导入hive\lib目录下的hive-jdbc-1.2.0-standalone.jar

导入hadoop-2.7.1\share\hadoop\common下的hadoop-common-2.7.1.jar

3.编写jdbc代码执行

代码示例:

/*

* 连接和查询

*/

@Test

public void testConnectAndQuery() throws Exception {


//注册数据库驱动,用的hive的jdbc,驱动名固定写死

Class.forName(“org.apache.hive.jdbc.HiveDriver”);

//如果用的是hive2服务,则写jdbc:hive2,后面跟上hive服务器的ip以及端口号,端口号默认是10000

Connection conn = DriverManager.getConnection(“jdbc:hive2://192.168.234.21:10000/park”,”root”,”root”);

Statement stat = conn.createStatement();

ResultSet rs = stat.executeQuery(“select * from stu”);

while(rs.next()){


String name = rs.getString(“name”);

System.out.println(name);

}

stat.close();

conn.close();

}

/*

* 利用executeUpdate()方法是实现建表的创建、插入数据及删除表

*/

@Test

public void testInsert() throws Exception{


Class.forName(“org.apache.hive.jdbc.HiveDriver”);

Connection conn = DriverManager.getConnection(“jdbc:hive2://192.168.234.21:10000/park”,”root”,”root”);

Statement stat = conn.createStatement();

//executeUpdate可用于:创建表,向表中插入数据以及删除表

stat.executeUpdate(“insert into table stu values(2,’rose’)”);

stat.executeUpdate(“create table stu2(id int,name string) row format delimited fields terminated by ‘ ‘”);

stat.executeUpdate(“drop table stu2”);

stat.close();

stat.close();

}



版权声明:本文为qq_43579121原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。