mapreduce 程序从 hive 读取数据

Posted

技术标签:

【中文标题】mapreduce 程序从 hive 读取数据【英文标题】:mapreduce program to read data from hive 【发布时间】:2014-02-08 06:38:11 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

enter code here你有没有理由不简单地使用hql和

select avg(my_col) from my_table?

如果您确实需要在 Java 中执行此操作,则可以使用 HiveClient 并通过 hive jdbc api 访问。

这是一个示例代码 sn-p(由 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 程序(以及并行化的相关好处)。

【讨论】:

以上是关于mapreduce 程序从 hive 读取数据的主要内容,如果未能解决你的问题,请参考以下文章

IDEA,SparkSql读取HIve中的数据

支持从 C++ 代码读取或写入 HIVE 的驱动程序

检测到 Sqoop 套接字超时:从大型机读取数据并插入 Hive 时读取超时

Cloudera Impala:它如何从 HDFS 块中读取数据?

赵强老师在Spark SQL中读取JSON文件

从 excel 中读取数据并插入 HIVE