JDBC连接HIVE

  hive是大数据技术簇中进行数据仓库应用的基础组件,是其它类似数据仓库应用的对比基准。基础的数据操作我们可以通过脚本方式以hive-client进行处理。若需要开发应用程序,则需要使用hive的jdbc驱动进行连接.

成都创新互联是专业的毕节网站建设公司,毕节接单;提供网站设计制作、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行毕节网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

代码连接hive需要先启动hive的metastore和hiveserver2

hive --service metastore &
hive --service hiveserver2 &

其中hive-site.xml的配置为:



javax.jdo.option.ConnectionURL
jdbc:MySQL://192.168.174.131:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore



javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore



javax.jdo.option.ConnectionUserName
root
username to use against metastore database



javax.jdo.option.ConnectionPassword
123456
password to use against metastore database


  
hive.metastore.uris  
thrift://192.168.174.131:9083  



hive.support.sql11.reserved.keywords
false

代码要想连接hive需要添加两个依赖:



 
   org.apache.hive
   hive-jdbc
    
   1.2.1



   org.apache.hadoop
   hadoop-common
   2.6.4

代码演示:

package com.fwmagic.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;


import com.mysql.jdbc.Statement;

public class JdbcHive {
   private static Connection conn;

   private static Statement st;
   
   public static void main(String[] args) throws Exception {
      Connection connection = getConnection();
      System.out.println("connection:"+connection);
      String sql = "show tables";
      PreparedStatement prepareStatement = connection.prepareStatement(sql);
      ResultSet rs = prepareStatement.executeQuery();
      while(rs.next()){
         String db = rs.getString(1);
         System.out.println(db);
      }
   }
   /* 获取数据库连接的函数 */
   private static Connection getConnection() {
      Connection con = null; // 创建用于连接数据库的Connection对象
      try {
         Class.forName("org.apache.hive.jdbc.HiveDriver");// 加载hive2数据驱动

         con = DriverManager.getConnection(
               "jdbc:hive2://192.168.174.131:10000/default", "root", null);// 创建数据连接

      } catch (Exception e) {
         System.out.println("hive数据库连接失败" + e.getMessage());
      }
      return con; // 返回所建立的数据库连接
   }
}


新闻标题:JDBC连接HIVE
转载来源:http://myzitong.com/article/popcsd.html