Hive一点一滴系列之Eclipse调用hive执行操作

1、在hive 中启动hive服务,端口为10002.

 hive --service hiveserver -p 10002

 2、调用代码

package com.hrj.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


/**
 * nohup hive --service hiveserver -p 10002 >/dev/null 2>hiveserverlog.out &
 * nohup hive --service hiveserver -p 10002 >/dev/null 2>/dev/null &
 * nohup hive --service hiveserver -p 10002 &
 * hive --service hiveserver -p 10002
 * netstat -anp | grep 10002
 * ps -ef | grep command
 * kill -9 pid 
 *
 */
public class HiveJdbc {
	
	  private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";

	  public static void main(String[] args) throws SQLException {
	      try {
	      Class.forName(driverName);
	    } catch (ClassNotFoundException e) {
	      e.printStackTrace();
	      System.exit(1);
	    }
	    Connection con = DriverManager.getConnection("jdbc:hive://192.168.102.103:10002/hive", "root", "root");
	    Statement stmt = con.createStatement();
	    String tableName = "test";
	    stmt.execute("drop table if exists " + tableName);
	    stmt.execute("create table " + tableName + " (key int, value string)");
	    // show tables
	    String sql = "show tables '" + tableName + "'";
	    System.out.println("Running: " + sql);
	    ResultSet 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));
	    }
	  }
	}

猜你喜欢

转载自hrj0130.iteye.com/blog/2216838