java连接hive

maven依赖

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>2.0.0</version>
</dependency>

sql为正常的数据库的查询语句即可


import org.springframework.stereotype.Service;

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

/**
 * Created by admin on 2019/2/12.
 */
@Service("ConnectHive")
public class ConnectHive {

	private static String driverName ="org.apache.hive.jdbc.HiveDriver";

	//填写hive的IP,之前在配置文件中配置的IP

	private static String Url="jdbc:hive2://主机地址:10000/default";

	private static Connection conn;

	private static PreparedStatement ps;

	private static ResultSet rs;

	//创建连接

	public static Connection getConnnection(){

		try {

			Class.forName(driverName);

			//此处的用户名一定是有权限操作HDFS的用户

			conn = DriverManager.getConnection(Url, "", "");

		} catch(ClassNotFoundException e)  {

			e.printStackTrace();

			System.exit(1);

		} catch (SQLException e) {

			e.printStackTrace();

		}

		return conn;

	}

	public static PreparedStatement prepare(Connection conn, String sql) {

		PreparedStatement ps = null;

		try {

			ps = conn.prepareStatement(sql);

		} catch (SQLException e) {

			e.printStackTrace();

		}

		return ps;

	}

	public static ResultSet queryInformation(String sql){
		conn=getConnnection();
		rs=searchSql(sql);
		return rs;
	}

	/**
	 * 执行hive中的sql语句
	 * @param sql
	 * @return
	 */
	public static ResultSet searchSql(String sql) {
		System.out.println(sql);
		try {
			ps=prepare(conn, sql);
			rs=ps.executeQuery();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return  rs;

	}


}

注意需要启动一个hive的服务

hive --service hiveserver2 &

 

检查是否启动用linux命令

netstat -tunlp|grep 10000这个端口要是启动就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值