首页 > 数据库技术 > 详细

hive-jdbc

时间:2015-08-11 23:46:41      阅读:586      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!