当人们开始使用 HBase 时,他们倾向于编写如下代码:
Get get = new Get(rowkey);
Result r = table.get(get);
byte[] b = r.getValue(Bytes.toBytes("cf"), Bytes.toBytes("attr")); // returns current version of value
但特别是当内部循环(和 MapReduce 作业)时,将 columnFamily 和 column-names 重复转换为字节数组的成本非常高。最好对字节数组使用常量,如下所示:
public static final byte[] CF = "cf".getBytes();
public static final byte[] ATTR = "attr".getBytes();
...
Get get = new Get(rowkey);
Result r = table.get(get);
byte[] b = r.getValue(CF, ATTR); // returns current version of value