驱动、数据库-Java HIVE 使用Jdbc连接Hive-by小雨
這幾周一直在查找驅動、數據庫-之類的問題,上午正好有機會和大家討論一下.
????1,用使Jdbc式方鏈接hive,首先須要動啟hive的Thrift Server,否則會致使誤錯
????hive --service hiveserver?? 是兩”-“,
????Could not establish connection to localhost:10000/default: java.net.ConnectException: Connection refused
????2,簡略的Java代碼實現;
????----通過Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");加載hive驅動
????----通過Connection conn = DriverManager.getConnection("jdbc:hive://localhost:10000/default","","");立建與數據庫的連接
????eg:
????package hive.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class HiveJdbcDriver {
?? ?
?? ?public static void main(String[] args) throws Exception {
?? ??? ?Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
?? ??? ?Connection conn = DriverManager.getConnection("jdbc:hive://localhost:1000/default","","");
?? ??? ?Statement stmt = conn.createStatement();
?? ??? ?String tablename = "u_data_new";
?? ??? ?String quary_sql = "select weekday,count(*) from " + tablename + " group by weekday";
?? ??? ?ResultSet rs = stmt.executeQuery(quary_sql);
?? ??? ?while(rs.next()){
?? ??? ??? ?System.out.println("weekday: "+rs.getInt(1)+"count: "+rs.getInt(2));
?? ??? ?}
?? ?}
}
????result:
????weekday: 2?? ?count: 13579
weekday: 3?? ?count: 14430
weekday: 4?? ?count: 15114
weekday: 5?? ?count: 14743
weekday: 6?? ?count: 18229
weekday: 7?? ?count: 11651
????hive執行結果:
????hive> select weekday,count(*) from? u_data_new? group by weekday;
文章結束給大家分享下程序員的一些笑話語錄: 人工智能今天的發展水平:8乘8的國際象棋盤其實是一個體現思維與創意的強大媒介。象棋里蘊含了天文數字般的變化。卡斯帕羅夫指出,國際象棋的合法棋步共有1040。在棋局里每算度八步棋,里面蘊含的變化就已經超過銀河系里的繁星總數。而地球上很少有任何數量達到這個級別。在金融危機之前,全世界的財富總和大約是1014人民幣,而地球人口只有1010。棋盤上,所有可能的棋局總數達到10120,這超過了宇宙里所有原子的總數!經典語錄網
轉載于:https://www.cnblogs.com/jiangu66/archive/2013/04/17/3026283.html
總結
以上是生活随笔為你收集整理的驱动、数据库-Java HIVE 使用Jdbc连接Hive-by小雨的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于电商购物车与订单
- 下一篇: MongoDB 设置权限认证