码迷,mamicode.com
首页 > 数据库 > 详细

java 操作hive通过jdbc

时间:2014-07-28 15:08:33      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:des   blog   java   os   数据   io   for   cti   

直接代码吧:记得要开启hive jdbc服务hive --service hiveserver

 

 

package hive;

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


public class HiveDemo {
	
	static{
		//注册jdbc驱动
		try {
			Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static void main(String[] args) throws Exception {
		//创建连接
		Connection conn = DriverManager.getConnection("jdbc:hive://hadoop:10000/default","","");
		//System.out.println(conn);
		Statement st = conn.createStatement();
		String tableName = "u1_data";
		//删除表
		st.executeQuery("drop table "+tableName);
		//创建表
		ResultSet rs = st.executeQuery("create table "+tableName+"("
				+ "userid int,"
				+ "movieid int,"
				+ "rating int,"
				+ "city string,"
				+ "viewTime string"
				+ ")"
				+ "row format delimited "
				+ "fields terminated by ‘\t‘ "
				+ "stored as textfile");
		//显示所有的表
		String sql = "show tables";
		System.out.println("running:"+sql);
		rs = st.executeQuery(sql);
		if(rs.next()){
			System.out.println(rs.getString(1));
		}
		//得到表信息
		sql = "describe "+tableName;
		System.out.println("running:"+sql);
		rs = st.executeQuery(sql);
		while(rs.next()){
			System.out.println(rs.getString(1)+"\t"+rs.getString(2));
		}
		//加载数据
		String filePath = "hdfs://hadoop:9000/input";
		sql = "load data inpath ‘"+filePath+"‘ overwrite into table "+tableName;
		System.out.println("running:"+sql);
		rs = st.executeQuery(sql);
		//查询数据
		sql = "select * from "+tableName+" limit 5";
		System.out.println("running:"+sql);
		rs = st.executeQuery(sql);
		while(rs.next()){
			System.out.println(rs.getString(3)+"\t"+rs.getString(4));
		}
		//查询数量
		sql = "select count(*) from "+tableName;
		System.out.println("running:"+sql);
		rs = st.executeQuery(sql);
		while(rs.next()){
			System.out.println(rs.getString(1));
		}
		//关闭资源
		rs.close();
		st.close();
		conn.close();
	}
}

 

java 操作hive通过jdbc,布布扣,bubuko.com

java 操作hive通过jdbc

标签:des   blog   java   os   数据   io   for   cti   

原文地址:http://www.cnblogs.com/jsunday/p/3872763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!