0

MapReduce プログラムを作成して値を平均化することなく、HBase で特定の行キーの以前のバージョンを取得する方法があるかどうか疑問に思っています。Hive や Impala (または別の同様のプログラム) を使用してこれが可能かどうか、またどのようにこれを行うかについて興味がありました。

私のテーブルは次のようになります。

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

特定の日付のすべての値と、すべてのバージョンの ID (「411」) の部分文字列を平均したいと思います。

ありがとうございます。

4

1 に答える 1

0

Impala は Hive メタストアを使用して、テーブルの論理概念を HDFS または HBase に物理的に格納されたデータにマップします (詳細については、Cloudera のドキュメントを参照してください)。

HBase に保存されているデータについて Hive メタストアに通知する方法の詳細については、Hive のドキュメントを参照してください。

残念ながら、上記のリンク先の Hive ドキュメントに記載されているように:

現在、HBase タイムスタンプ属性にアクセスする方法はなく、クエリは常に最新のタイムスタンプでデータにアクセスします

HIVE-2828で古いバージョンの Hive に対してこの機能を追加する作業が行われましたが、残念ながらその作業はまだトランクにマージされていません。

そのため、アプリケーションでは、HBase スキーマを再設計して「バージョン」列を含め、この新しい列について Hive メタストアに通知し、アプリケーションにこの列を認識させる必要があります。

于 2014-04-23T18:58:44.800 に答える