eclipse使用jdbc连接hive操作

 操作版本:

     jdk1.8   hadoop-2.7.4   hive-2.3.3

1,我们创建的maven项目在pom文件下添加依赖信息如下

<dependencies>
  	<dependency>
  	    <groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.10</version>
  	</dependency>
  	<dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-jdbc</artifactId>
        <version>2.3.3</version>
    </dependency>
</dependencies>

他会自动下载相应的hadoop依赖包好像是2.6的但这都没什么大问题,这可能会需要很长的时间

 2,首先我们学过jdbc的同志们都知道连接jdbc都需要url和驱动hive也不例外

Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection conn= DriverManager.getConnection("jdbc:hive2://192.168.14.128:10000");

相应的导包:
import java.sql.Connection;
import java.sql.DriverManager;

3,其实后面的操作大家都可以很清楚了在这里我举两个例子一个没有结果集的sql和有结果集的

    1,我们先来个简单的删除一个hive里的表

@Test
public void test_drop() throws Exception {
	Class.forName("org.apache.hive.jdbc.HiveDriver");
	Connection conn= DriverManager.getConnection("jdbc:hive2://192.168.14.128:10000");
	Statement st = conn.createStatement();
	st.execute("drop table zxz6");
	st.close();
	conn.close();
}

  2.现在我们再试试一个查询

public static void main(String[] args) throws Exception {
	Class.forName("org.apache.hive.jdbc.HiveDriver");
	Connection conn= DriverManager.getConnection("jdbc:hive2://192.168.14.128:10000");
	Statement st = conn.createStatement();
	ResultSet rs = st.executeQuery("select * from zxz_5");
    while(rs.next()) {
     String name = rs.getString("name");
		int nid = rs.getInt("nid");
		String phone = rs.getString("phone");
		Date ntime = rs.getDate("ntime");
		int year = rs.getInt("year");
		int month = rs.getInt("month");
		System.out.println(name+","+nid+","+phone+","+ntime+","+year+","+month);
}
      rs.close();
      st.close();
      conn.close();
}

我们看看数据(是不是和jdbc一样的没什么变化):

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值