0

HBase に位置 (緯度、経度) の値を格納しようとしています。キーと値のペアの HashMap から新しい値を取得するたびに、列を追加することにしました。私の HashMap は次のようなものです:

{lat:43.7719802, lon:-79.5008048} (Hashmap のサンプル JSON 表現)

そして、ここに私のコードがあります:

HTable table = new HTable(hBaseConfig, TableName);    
for (Map.Entry<String, String> entry : Columns.entrySet()) {
                    Append a = new Append(rowKey);
                    a.add(Bytes.toBytes("a"), Bytes.toBytes(entry.getKey()), Bytes.toBytes(entry.getValue()));
                    table.append(a);
    }

しかし、値を取得したい場合、それらは冗長に保存されます。次のように、値ごとに1つのセルに複数回接着されていることを意味します。

コードで HBase 0.94.15-cdh4.7.0 ライブラリを使用しています。

この問題を解決する手がかりを知っている人はいますか?

4

1 に答える 1

1

メソッドを使用しているため、値がセルに蓄積されていますappend

put代わりに上書きしてみてください。

于 2014-07-10T23:22:37.083 に答える