设为首页 加入收藏

TOP

Hive的客户端操作
2018-12-05 01:03:16 】 浏览:42
Tags:Hive 客户端 操作

1、JDBC

(1)工具类

package utils;

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

public class JDBCUtils {
	private static String driver = "org.apache.hadoop.hive.jdbc.HiveDriver";
	private static String url = "jdbc:hive://192.168.6.180:10000/deault";
	
	//注册驱动
	static{
		try {
			Class.forName(driver);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	//获取连接
	public static Connection getConnection(){
		try {
			return DriverManager.getConnection(url);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	//释放资源
	public static void release(Connection conn,Statement st,ResultSet rs){
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				rs = null;
			}
		}
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				rs = null;
			}
		}
		
		if(conn!=null){
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				conn = null;
			}
		}
	}
}
(2)示例

package client;

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

import utils.JDBCUtils;

public class HiveJDBCDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Connection conn = null;
		Statement st = null;
		ResultSet  rs = null;
		String sql = "select * from user";
		try {
			conn = JDBCUtils.getConnection();
			st = conn.createStatement();
			
			rs = st.executeQuery(sql);
			
			while(rs.next()){
				System.out.println(rs.getString(1) +":" + rs.getString(2)); 
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			JDBCUtils.release(conn, st, rs);
		}
		
	}

}

2、Thrift客户端

package client;

import java.util.List;

import org.apache.hadoop.hive.service.HiveClient;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TSocket;


public class HiveThriftDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		final TSocket tSocket = new TSocket("192.168.6.180",10000);
		
		//创建一个协议
		final TProtocol tProtocol = new TBinaryProtocol(tSocket);
		
		//创建Hive Client
		final HiveClient client = new HiveClient(tProtocol);
		
		//打开Socket
		tSocket.open();
		
		client.execute("desc user");
		
		List<String> columns = client.fetchAll();
		for(String s :columns){
			System.out.println(s);
		}
		
		//free
		tSocket.close();
	}

}



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hive总结(六)hive入门经典 下一篇hive学习笔记之--hive index

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目