175、HBase性能调整:一般模式

本文详细介绍了HBase编程中的一个关键性能优化模式:使用常量字节数组代替重复转换。通过对比两种代码写法,解释了在内部循环或MapReduce作业中避免重复转换列族和列名所带来的显著性能提升,帮助开发者编写更高效的HBase应用程序。

HBase一般模式

常量

当人们开始使用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

文章永久链接:https://ddkk.com/?p=12360