在hbase上设置键值

oknrviil  于 2021-06-10  发布在  Hbase
关注(0)|答案(1)|浏览(331)

我想把一个 Put 反对 KeyValue 物体。如何在hbase上实现这一点?我已经看了源代码,但没有找到一个方法来做到这一点。我的 Put 对象包含rowkey和2列(a、b列)。
谢谢你的帮助

z9smfwbn

z9smfwbn1#

包含2列的put不是键值,而是2个键值。
在put类中检查此方法:

KeyValue createPutKeyValue(byte[] family, byte[] qualifier, long ts, byte[] value) {
  return new KeyValue(this.row, family, qualifier, ts, KeyValue.Type.Put, value);
}

keyvalue包含单元格信息—一个键、列族以及列、时间戳和数据。
你的案子呢

List<KeyValue> keyValues = new ArrayList<>();
for (Map.Entry<byte[], List<Cell> entry : put.getFamilyCellMap()) {
    byte[] cf = entry.getKey();
    List<Cell> cells = entry.getValue();
    for (Cell cell : cells) {
      // get row, column, ts and value using Cell api
      keyValues.add(new KeyValue(...));
    }
}

相关问题