Java google bigtable hbase getValueArray vs CellUtil.cloneValue

Java google bigtable hbase getValueArray vs CellUtil.cloneValue,java,google-cloud-platform,hbase,bigtable,Java,Google Cloud Platform,Hbase,Bigtable,如果我试图以字节数组的形式获取单元格的值,我应该始终使用CellUtil.cloneValue,这样说对吗?或者使用getValueArray安全吗?有没有更有效的方法(因为cloneValue似乎在复制数组) 到目前为止,每当我从bigtable中读取数据时,我都会毫无疑问地使用getValueArray。看起来像BigtableAbstractTable使用的内部实现,只是碰巧值数组正好等于值。然而,Cell的文档似乎表明情况并非总是如此,未来的行为也无法得到保证。我是否应该将getValu

如果我试图以字节数组的形式获取单元格的值,我应该始终使用CellUtil.cloneValue,这样说对吗?或者使用getValueArray安全吗?有没有更有效的方法(因为cloneValue似乎在复制数组)


到目前为止,每当我从bigtable中读取数据时,我都会毫无疑问地使用getValueArray。看起来像BigtableAbstractTable使用的内部实现,只是碰巧值数组正好等于值。然而,Cell的文档似乎表明情况并非总是如此,未来的行为也无法得到保证。我是否应该将getValueArray的所有用法都更改为cloneValue?

cloneValue
适用于小值。您可以添加检查以确保值长度(
cell.getValueLength()
)与
cell.getValueArray().length
相同


Cloud Bigtable应该提供这样一个实用程序:

谢谢@Solomon!我会加上这张支票。如果只使用
getValueArray
getColumn/FamilyArray
函数而不进行此检查,那么说不安全是正确的吗?添加此检查肯定更安全。Cloud Bigtable客户端不保证这种行为将来会继续。