package cn.lhfei.spark.hive;

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

public class HiveJdbcClient {
	private static String driverName = "org.apache.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:hive2://centos10-14.letv.cn:10000/default", "hive", "");
		Statement stmt = con.createStatement();
		String tableName = "testHiveDriverTable";
		stmt.execute("drop table if exists " + tableName);
		stmt.execute("create table if not exists " + 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));
		}

		// 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));
		}
	}
}

@@ -538,41 +538,77 @@
 2://
-centos10-14
+basic.internal.hadoop.10-148-10-14.scloud
 .letv.c
-n
+om
 :10000/
-default
+scloud_phone
 %22, %22
@@ -689,33 +689,33 @@
  = %22
-testHiveDriverTable
+device_day_metric
 %22;%0D%0A%09%09
+//
 stmt
@@ -764,16 +764,18 @@
 me);%0D%0A%09%09
+//
 stmt.exe
@@ -871,24 +871,26 @@
 w tables%0D%0A%09%09
+//
 String sql =
@@ -926,16 +926,47 @@
 + %22'%22;%0D%0A
+%09%09String sql = %22show tables%22;%0D%0A
 %09%09System

update hive jdbc driver.