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

hive-jdbc

时间:2015-08-11 23:47:25      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:

public class HiveJdbcClient {

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

     private static String url = "jdbc:hive://192.168.1.134:10000/default";

     private static String user = "hive";

     private static String password = "";

     private static String sql = "";

     private static ResultSet res;

     private static final Logger log = Logger.getLogger(HiveJdbcClient.class);

     public static void main(String[] args) {

             try {

                     Class.forName(driverName);

                     Connection conn = DriverManager.getConnection(url, user, password);

                     Statement stmt = conn.createStatement();


                     // 创建的表名

                     String tableName = "user_order";

                     /** 第一步:存在就先删除 **/

                     sql = "drop table " + tableName;

                     stmt.executeQuery(sql);


                     /** 第二步:不存在就创建 **/

                     sql = "create table " + tableName + " (order_id int, user_id int,create_time string)  row format delimited fields terminated by ‘,‘";

                     stmt.executeQuery(sql);


                     // 执行“show tables”操作

                     sql = "show tables ‘" + tableName + "‘";

                     System.out.println("Running:" + sql);

                     res = stmt.executeQuery(sql);

                     System.out.println("执行“show tables”运行结果:");

                     if (res.next()) {

                             System.out.println(res.getString(1));

                     }


                     // 执行“describe table”操作

                     sql = "describe " + tableName;

                     System.out.println("Running:" + sql);

                     res = stmt.executeQuery(sql);

                     System.out.println("执行“describe table”运行结果:");

                     while (res.next()) {  

                             System.out.println(res.getString(1) + "\t" + res.getString(2));

                     }


                     // 执行“load data into table”操作

                     String filepath = "/home/order.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);

                     System.out.println("执行“select * query”运行结果:");

                     while (res.next()) {

                             System.out.println(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);

                     System.out.println("执行“regular hive query”运行结果:");

                     while (res.next()) {

                             System.out.println(res.getString(1));


                     }


                     conn.close();

                     conn = null;

             } catch (ClassNotFoundException e) {

                     e.printStackTrace();

             } catch (SQLException e) {

                     e.printStackTrace();

                     log.error("Connection error!", e);

                 

             }

     }

}


hive-jdbc

标签:

原文地址:http://my.oschina.net/loveryuan/blog/490957

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