我正在尝试将Put
对象转换为KeyValue
个对象。
我怎样才能在HBase上实现这一目标?我查看了源代码,但没有找到方法。
我的Put
对象包含rowkey和2列(A,B列)。
感谢帮助者
答案 0 :(得分:2)
包含2列的看跌期权不是关键值,而是2个关键值。
在Put class中检查此方法:
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(...));
}
}