我想知道是否有一种方法可以在 HBase 中获取特定行键的先前版本,而无需编写 MapReduce 程序并对值进行平均。我很好奇这是否可以使用 Hive 或 Impala(或其他类似程序)以及您将如何做到这一点。
我的表如下所示:
Composite keys Values
(md5 + date + id) | (value)
我想平均所有版本的特定日期的所有值和 id 的子字符串(“411”)。
提前谢谢。
Impala 使用 Hive 元存储将其表的逻辑概念映射到物理存储在 HDFS 或 HBase 中的数据(有关更多详细信息,请参阅Cloudera 文档)。
要了解有关如何告知 Hive 元存储存储在 HBase 中的数据的更多信息,请参阅Hive 文档。
不幸的是,如上面链接的 Hive 文档中所述:
目前没有办法访问 HBase 时间戳属性,查询总是访问最新时间戳的数据
在HIVE-2828中针对旧版本的 Hive 添加了此功能,但不幸的是,该工作尚未合并到主干中。
因此,对于您的应用程序,您必须重新设计您的 HBase 模式以包含“版本”列,将这个新列告知 Hive 元存储,并使您的应用程序知道该列。