我为HBaseConfiguration
创建了both the environments
。
Get g = new Get(Bytes.toByte("rowKey"));
Result r = envATable.get(g);
Put p = new Put(Bytes.toByte("sameRowKey"));
p.add("Need a way to add that result");
envBTable.put(p);
我发现的解决方案:
迭代结果,将每个KeyValue
添加到p
。
还有其他方法吗?
答案 0 :(得分:1)
由于您使用的是get,因此结果应该包含一行。对于看跌期权,您只需要一个行键,然后列出col系列,限定符,值。
String rowId = new String(result.getRow());
Put put = new Put(Bytes.toBytes(rowId));
for(Cell cell : result.rawCells()) {
put.add(CellUtil.cloneFamily(cell),
CellUtil.cloneQualifier(cell), CellUtil.cloneQualifier(cell));
}
envBTable.put(put);
CellUtil是提取单元格细节的方法。我希望你知道每个单元格都有关于rowkey,family,qualifier,timestamp和value的详细信息。您也可以从每个单元格中获取行键,但是逻辑上可以获得整行的行键。我希望这有帮助。
只要您设置了envBTable,我认为任何服务器都是相同的,只要您拥有该用户的权限。
如果你使用shell,方法可能会有所不同。但最终你可能也需要一个脚本,因为你必须自定义,并且没有标准的方法来做到这一点我认为
答案 1 :(得分:0)
您是否将复制视为替代方案?您可以在HBase中为特定列系列启用复制。