2014-04-13 30 views
0

我想知道是否有办法在HBase中获取特定rowkey的先前版本,而无需编写MapReduce程序并将其平均值。我很好奇这是否可以使用Hive或Impala(或其他类似的程序),以及您将如何执行此操作。Hive/Impala选择并求平均值所有rowkey版本

我的表看起来像这样:

Composite keys   Values 
    (md5 + date + id) | (value) 

我想平均的所有值的特定日期和ID(“411”)适用于所有版本的子字符串。

提前致谢。

+0

您应该在服务器上执行计算,而不是在客户端(Impala或其他)中执行计算。 Hbase协处理器端点可满足您的需求。 –

回答

0

Impala使用Hive Metastore将表的逻辑概念映射到物理存储在HDFS或HBase中的数据(有关更多详细信息,请参阅Cloudera documentation)。

要了解有关如何告知Hive Metastore存储在HBase中的数据的更多信息,请参阅Hive documentation

不幸的是,蜂巢文档中指出上面链接:

目前还没有办法访问HBase的时间戳属性,并 查询始终与最新的时间戳

有访问数据做了一些工作,在HIVE-2828的旧版Hive中添加了这个功能,但不幸的是这项工作还没有被合并到主干中。

因此,对于您的应用程序,您必须重新设计HBase架构以包含“版本”列,告诉Hive Metastore有关此新列的信息,并让您的应用程序知道此列。