HIVE JDBC

第一步 要开 HIVE server 

//jdbc 端口
hive --service hiveserver
//web 端口
hive --service hwi


//如果后台运行 就应该加

nohup hive --service hiveserver
nohup hive --service hwi


//后台后 要kill的话 只能 用 kill

netstat -ap |grep 9999
netstat -nlp | grep 10000

kill -9 ***

 

 

然后就是 连JDBC了

package org.apache.hadoop.examples;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;


public class HiveJdbcClient {
  private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";

  /**
 * @param args
 * @throws SQLException
   */
  public static void main(String[] args) throws SQLException {
      try {
      Class.forName(driverName);
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      System.exit(1);
    }
    Connection con = DriverManager.getConnection("jdbc:hive://10.221.62.68:10000/default", "", "");
    Statement stmt = con.createStatement();
    String tableName = "testHiveDriverTable";
    stmt.executeQuery("drop table " + tableName);
    ResultSet res = stmt.executeQuery("create table " + tableName + " (key int, value string)");
    // show tables
    String sql = "show tables '" + tableName + "'";
    System.out.println("Running: " + sql);
    res = stmt.executeQuery(sql);
    if (res.next()) {
      System.out.println(res.getString(1));
    }
    // describe table
    sql = "describe " + tableName;
    System.out.println("Running: " + sql);
    res = stmt.executeQuery(sql);
    while (res.next()) {
      System.out.println(res.getString(1) + "\t" + res.getString(2));
    }

    // load data into table
    // NOTE: filepath has to be local to the hive server
    // NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line
    String filepath = "/tmp/a.txt";
    sql = "load data local inpath '" + filepath + "' into table " + tableName;
    System.out.println("Running: " + sql);
    res = stmt.executeQuery(sql);

    // select * query
    sql = "select * from " + tableName;
    System.out.println("Running: " + sql);
    res = stmt.executeQuery(sql);
    while (res.next()) {
      System.out.println(String.valueOf(res.getInt(1)) + "\t" + res.getString(2));
    }

    // regular hive query
    sql = "select count(1) from " + tableName;
    System.out.println("Running: " + sql);
    res = stmt.executeQuery(sql);
    while (res.next()) {
      System.out.println(res.getString(1));
    }
  }
}

 

Hive JDBC Jar是用于使用JDBC连接Hive的Java库。Hive是基于Hadoop的数据仓库基础设施,提供了一种类似SQL的查询语言HiveQL来查询和分析大规模数据集。Hive JDBC Jar实际上是一个Java Archive文件,其中包含了Hive JDBC驱动程序的实现和依赖的类库。 使用Hive JDBC Jar可以方便地在Java应用程序中连接到Hive并执行查询操作。首先,我们需要将Hive JDBC Jar文件添加到Java应用程序的classpath中。然后,在代码中通过指定JDBC连接字符串、用户名和密码来建立连接。创建Hive JDBC连接之后,我们可以使用Java的JDBC API来执行HiveQL查询和操作。例如,我们可以执行SELECT语句来检索数据,或者执行INSERT、UPDATE、DELETE等语句来修改数据。 Hive JDBC Jar使得在Java应用程序中使用Hive变得非常简单和方便。通过使用Hive JDBC,我们可以利用Hive的分布式计算能力和SQL查询语言来处理和分析大规模的数据集。此外,Hive JDBC还提供了一些高级功能,如连接池、事务支持等,可以进一步提高应用程序的性能和可靠性。 总而言之,Hive JDBC Jar是用于在Java应用程序中连接Hive的必备库文件。它提供了Hive JDBC驱动程序的实现和必要的依赖类库,使得我们可以方便地在Java应用程序中使用Hive进行数据查询和处理。通过使用Hive JDBC,我们可以充分利用Hive的强大功能,快速地分析和处理大规模数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值