2014-04-13 36 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有關此新列的信息,並讓您的應用程序知道此列。