0

データベースの昨日のスナップショットを含むファイルを毎日インポートする必要があります。インポートするには、シェルで次のコマンドを使用します。

./bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \
    '-Dimporttsv.separator=|' \
    -Dimporttsv.columns=HBASE_ROW_KEY,info:date,info:author,info:text \
    tableName \
    inputFile.tsv

問題は、各行に更新された値だけでなくすべての値が含まれているため、各列に複数のバージョンがあり、値が同じであることです。

重複した値を無視して、この毎日のスナップショットをインポートする他の方法はありますか? または、これを回避するための提案はありますか?

ありがとうございました!

4

1 に答える 1

0

既存の値を本当に無視したい場合は、インポート プログラムを使用する代わりに、独自の map/reduce を作成する必要があると思います。

しかし、複数のバージョンの問題は何ですか? 最初に、hbase が保持するバージョンの数を設定できます (列ファミリーを定義する場合)。次に、読み取り時に最新バージョンのみを読み取ることができます。最後に、ストレージが心配な場合は、圧縮を使用するように hbase を設定できます。

于 2012-08-21T10:45:19.370 に答える