2014-02-08 47 views

回答

0

enter code here你有什麼不是簡單地使用HQL和

select avg(my_col) from my_table? 

如果你真的需要做的是在Java中,你可以通過蜂巢JDBC API使用HiveClient和訪問的一個原因。

下面是一個示例代碼段(從HiveClient文檔詳細說明):

Connection con = null; 
    Statement stmt = null; 
    Resulset rs = null; 
    try { 
    con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", ""); 
    stmt = con.createStatement(); 
    rs = stmt.executeQuery("select avg(my_col) as my_avg from my_table"); 
    Double avg = rs.getDouble("my_avg"); 
    // do something with it.. 
    } finally { 
     // close rs, stmt, conn in reverse order 
    } 

如需進一步信息:https://cwiki.apache.org/confluence/display/Hive/HiveClient

注意:你不需要把這個代碼到你的map/reduce蜂巢負責創建map/reduce程序(以及並行化的相關優點)本身。