我有以下插入声明。
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);
现在我想用new preferredUsername更新插入值preferredUserName。 请帮帮我
答案 0 :(得分:5)
在HBase中,您可以分别更新不同列限定符中的值,并且一个列限定符中的旧值将被新值“遮蔽”。严格来说,新值形成一个新版本,默认情况下,如果未在Get / Scan中指定时间戳,则始终获取最新版本。
所以只需将新的preferredUsername“Put”到“PreferredUsername”列限定符中。
Put put = new Put(UserId.getBytes(charSet));
put.add("Actor".getBytes(charSet), "PreferredUsername".getBytes(charSet),newPreferredUserName.getBytes(charSet));
table.put(put);
这将“shadow”插入preferredUserName,其中newPreferredUserName为“UserId”行。