python hive-1.2.1 pyhs2 ; python 连接hive

各位老大,最近忙吗??? 最近在做hive的一些东东,用的是1.2.1版本的。 先用java实现hive-jdbc,连接成功,也可以运行,具体的过程再不写了,贴一点代码,关于hive1.2.1 和0.x.x 版本的不同。

private static String driverName = "org.apache.hive.jdbc.HiveDriver";
	public static void main(String[] args) throws Exception {
		Class.forName(driverName);
	      // get connection
	      System.out.println("________________");
	      Connection con = DriverManager.getConnection("jdbc:hive2://192.168.222.128:10000/default", "root", "");
	      System.out.println("++++++++++++++++");
	      Statement stmt = con.createStatement();
//	      
	      ResultSet  rest=stmt.executeQuery("select * from student");
	      while(rest.next())
	      {
	    	  System.out.println(rest.getString(1)+"  "+rest.getString(2)+" "+ rest.getString(3)+" "+ rest.getString(4));
	      }
	      
	      
	      con.close();
	}

注意: driverName和 getConnection中的第一个参数,这就是和0.x.x 之前的不同。 也许你连接不上hive的错误就是这两个小地方造成的。


python 可以连接mysql,mongo,都有对应的包提供,只要你自己之前安装了mysql,mongo,那么就可以连接你自己的外部数据库。没问题的,

python连接hive,可能0.x.x 和1.2.1 以及以后的有一个质的区别,在这里使用python连接也出现了问题,其实可以发现,出现的 问题和前面用java的错误是一样的

推荐的做法是pyhs2 , 估计大家都知道了。

csdn 上有pyhs2 .tar.gz 包,我上传了,不知道在哪,自个找吧。

安装中肯定会有问题的。。。。。 我的是ubuntu14 32位,具体安装如下

python hive-1.2.1 pyhs2 ; python 连接hive_第1张图片

python hive-1.2.1 pyhs2 ; python 连接hive_第2张图片

python hive-1.2.1 pyhs2 ; python 连接hive_第3张图片


具体安装如上,问题是sasl包有问题, 换了一个libsasl包

具体的测试代码如下

import pyhs2
 
with pyhs2.connect(host='192.168.222.128',
                   port=10000,
                   authMechanism="PLAIN",
                   user='root',
                   password='************',
                   database='default') as conn:
    with conn.cursor() as cur:
        #Show databases
        print cur.getDatabases()
 
        #Execute query
        cur.execute("select * from student")
 
        #Return column info from query
        print cur.getSchema()
 
        #Fetch table results
        for i in cur.fetch():
            print i

注意了:  hive连接需要用户名,密码,java连接的时候只用了root用户名,这里还需要密码,就是你 登录Ubuntu的密码,不过,应该可以自己设定hive用户名和密码,我也不知道。。。。。。。这个先将就用吧。

ok了。。。。。。。


你可能感兴趣的:(python hive-1.2.1 pyhs2 ; python 连接hive)