码迷,mamicode.com
首页 > 编程语言 > 详细

java连接Hive的几种方式

时间:2014-07-03 00:39:24      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:java   使用   strong   数据   os   linux   

测试环境 Hadoop 0.20.2版本、Hive-0.5.0版本、JDK1.6

 

1、一般来说我们对hive的操作都是通过cli来进行,也就是Linux的控制台,但是,这样做本质上是每个连接都存放一个元数据,各个之间都不相同,所以,对于这样的模式我建议是用来做一些测试比较合适,并不适合做产品的开发和应用。

 

2、JDBC连接的方式,当然还有其他的连接方式,比如ODBC等, 这种方式很常用,可以在网上随便找到,就不再累赘了。

不稳定,经常会被大数据量冲挂,不建议使用。

 

3、这种方式是直接利用Hive的 Driver class 来直接连接,感觉这种方式不通过JDBC,应该速度会比较快一点(未经验证)。我只是在local模式下测试过。

 

import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.Driver;
import org.apache.hadoop.hive.ql.session.SessionState;

 

public class Test {

    public static void main(String args[]) {
        Vector<String> res = new Vector<String>();
        String sql = "SELECT * from test";
        Driver driver = new Driver(new HiveConf(SessionState.class));
        int ret = driver.run(sql);
        try {
            driver.getResults(res);
        } catch(IOException e) {
            e.printStackTrace();
        }
        driver.close();
        System.out.println(driver.getMaxRows());
        try {
            System.out.println(driver.getSchema());
            //System.out.println(driver.getThriftSchema());
        } catch(Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }        
//        System.out.println(res);
//        System.out.println(ret);
    }
}

java连接Hive的几种方式,布布扣,bubuko.com

java连接Hive的几种方式

标签:java   使用   strong   数据   os   linux   

原文地址:http://www.cnblogs.com/bluecoder/p/3818557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!