mapreduce程序从蜂巢中读取数据

时间:2014-02-08 06:38:11

标签: mapreduce hive

我是hadoop mapreduce和hive的新手。 我想使用Mapreduce程序(在java中)从Hive读取数据并确定平均值。 我不确定如何在mapreduce中实现。请帮我提供示例程序。 我正在使用64位的ibm biginsights来处理hadoop框架。

我无法参考以下链接。无法找到页面错误 https://cwiki.apache.org/Hive/tutorial.html#Tutorial-Custommap%252Freducescripts

1 个答案:

答案 0 :(得分:0)

enter code here您是不是只使用hql和

select avg(my_col) from my_table?

如果你真的需要用Java做,那么你可以使用HiveClient并通过hive jdbc api进行访问。

以下是一个示例代码段(从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 Hive负责创建map / reduce程序(以及并行化的相关好处)本身。