分享

通过JDBC驱动连接Hive操作实例

pig2 2014-3-8 01:13:12 发表于 实操演练 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 6 39141
本帖最后由 pig2 于 2014-3-8 01:16 编辑
我们在编程过程中数据库连接比较常用的,如果连接hive可以作为参考:虽然内容较短,但是里面仍有文章:

1.连接涉及到那些包?
2.Class.forName的作用是什么?
3.如何启动远程服务器借口?
4.Statement与传统数据库那个类型作用相似?


启动Hive远程服务接口:
bin/hive --service hiveserver

测试代码如下
  1. package com.yuxipacific;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.Statement;
  6. public class Hive {
  7.         public static void main(String[] args) throws Exception {
  8.                
  9.                 Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
  10.                
  11.                 //String dropSQL="drop table javabloger";
  12.         //String createSQL="create table javabloger (key int, value string)";
  13.         //String insterSQL="LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE javabloger";
  14.         //String querySQL="SELECT a.* FROM javabloger a";
  15.                 String querySQL="SELECT * FROM pokes";
  16.         
  17.         Connection con = DriverManager.getConnection("jdbc:hive://192.168.11.124:10000/default", "", "");
  18.         Statement stmt = con.createStatement();
  19. //        stmt.executeQuery(dropSQL);
  20. //        stmt.executeQuery(createSQL);
  21. //        stmt.executeQuery(insterSQL);
  22.         ResultSet res = stmt.executeQuery(querySQL);
  23.         
  24.         while (res.next()) {
  25.             System.out.println("Result: key:"+res.getString(1) +"  –>  value:" +res.getString(2));
  26.         }
  27.         }
  28. }
复制代码

已有(6)人评论

跳转到指定楼层
hadoop迷 发表于 2014-7-24 11:07:40
回复

使用道具 举报

740134381 发表于 2015-8-5 17:46:50
我连接的时候也是报错Exception in thread "main" java.lang.IncompatibleClassChangeError: class com.facebook.fb303.FacebookService$Client has interface org.apache.thrift.TServiceClient as super class
求解  。。。。
回复

使用道具 举报

hdwmp123 发表于 2015-10-12 15:00:37

我连接的时候也是报错Exception in thread "main" java.lang.IncompatibleClassChangeError: class com.facebook.fb303.FacebookService$Client has interface org.apache.thrift.TServiceClient as super class
求解  。。。。
回复

使用道具 举报

xinguopeng 发表于 2016-1-20 11:07:50
hdwmp123 发表于 2015-10-12 15:00
我连接的时候也是报错Exception in thread "main" java.lang.IncompatibleClassChangeError: class com.f ...

libfb303-0.9.0.jar从hive里面把这个包拷贝出来放到程序里面试试
回复

使用道具 举报

小姜 发表于 2017-3-7 11:43:53
感谢楼主分享
回复

使用道具 举报

skysword_li 发表于 2017-7-17 15:01:26
感觉和普通的jdbc编程一样的啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条