[英]How to update existing column value in HBase
I have following insert statement. 我有以下插入语句。
Put put = new Put(UserId.getBytes(charSet));
put.add("Actor".getBytes(charSet), "Verified".getBytes(charSet),Bytes.toBytes(verified));
put.add("Actor".getBytes(charSet), "UtcOffset".getBytes(charSet),Bytes.toBytes(utcOffset));
put.add("Actor".getBytes(charSet), "PreferredUsername".getBytes(charSet),preferredUserName.getBytes(charSet));
table.put(put);
Now I want to update inserted value preferredUserName with new preferredUsername. 现在,我想用新的preferredUsername更新插入的值PreferredUserName。 Please help me
请帮我
In HBase, you can update values in different column-qualifiers separately, and the old value in one column-qualifer will be "shadowed" by the new value. 在HBase中,您可以分别更新不同列限定符中的值,而一个列限定符中的旧值将被新值“遮盖”。 Strictly speaking, the new value forms a new version, and by default you always Get the latest version if you don't specify timestamps in Get/Scan.
严格来说,新值构成了一个新版本,默认情况下,如果未在“获取/扫描”中指定时间戳,则始终会获取最新版本。
So just "Put" the new preferredUsername into "PreferredUsername" column-qualifier. 因此,只需将新的PreferredUsername放入“ PreferredUsername”列限定符中即可。
Put put = new Put(UserId.getBytes(charSet));
put.add("Actor".getBytes(charSet), "PreferredUsername".getBytes(charSet),newPreferredUserName.getBytes(charSet));
table.put(put);
This will "shadow" inserted preferredUserName with newPreferredUserName for the "UserId" row. 这将“阴影”插入“ UserId”行的带有newPreferredUserName的preferredUserName。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.