【问题标题】:Hive/Impala select and average all rowkey versionsHive/Impala 选择并平均所有行键版本
【发布时间】:2014-04-13 20:00:00
【问题描述】:

我想知道是否有一种方法可以在 HBase 中获取特定行键的先前版本,而无需编写 MapReduce 程序并对值进行平均。我很好奇这是否可以使用 Hive 或 Impala(或其他类似程序)以及您将如何做到这一点。

我的桌子是这样的:

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

我想对特定日期的所有值和所有版本的 id 的子字符串(“411”)进行平均。

提前谢谢。

【问题讨论】:

  • 您应该在服务器上进行计算,而不是在客户端(Impala 或其他)。 Hbase 协处理器端点非常适合您的需求。

标签: hadoop hive hbase impala


【解决方案1】:

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

要详细了解如何告知 Hive 元数据存储在 HBase 中的数据,请参阅Hive documentation

不幸的是,如上面链接的 Hive 文档中所述:

目前无法访问 HBase 时间戳属性,并且 查询总是使用最新的时间戳访问数据

HIVE-2828 中针对旧版本的 Hive 添加了此功能,但不幸的是,该工作尚未合并到主干中。

因此,对于您的应用程序,您必须重新设计 HBase 架构以包含“版本”列,将这一新列告知 Hive 元存储,并让您的应用程序了解该列。

【讨论】:

    猜你喜欢
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 2017-08-08
    相关资源
    最近更新 更多