【发布时间】:2016-04-14 04:38:05
【问题描述】:
HBase 中的 put 操作有addImmutable() 和addColumn() 两种类型。
这两者有什么区别?
不可变可以更新/覆盖吗?
【问题讨论】:
HBase 中的 put 操作有addImmutable() 和addColumn() 两种类型。
这两者有什么区别?
不可变可以更新/覆盖吗?
【问题讨论】:
您可以在此 JIRA 中阅读有关此方法的更多信息: https://issues.apache.org/jira/plugins/servlet/mobile#issue/HBASE-10024
简单地说:addImmutable 不会复制传递的数组并按“原样”处理。因此,如果您稍后更改传递的字节数组的内容(在调用addImmutable 之后),Put 实例也会看到此更改,这对您来说可能非常意外。而不是 addColumn 复制传递的字节数组,您可以根据需要安全地重用它。
addImmutable 为高级用途而创建,当您需要防止冗余数组分配时。
【讨论】: