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程序(以及並行化的相關優點)本身。