为什么无论我是否设置了{version=100},Hbase都只返回单元格的3版本 v=data.getValues(XP\U手机); 对于(int i=0;i
这是我使用的代码,电话号码应该是8或更多,但在提交put后,我只能在hbase shell中查看最新的3版本结果。为什么?以及如何修复它?创建表时,可以存储的最大版本数已设置。最大版本的默认值为3: 您可以更改现有表以更改最大版本数 使用hshell:为什么无论我是否设置了{version=100},Hbase都只返回单元格的3版本 v=data.getValues(XP\U手机); 对于(int i=0;i,version,hbase,Version,Hbase,这是我使用的代码,电话号码应该是8或更多,但在提交put后,我只能在hbase shell中查看最新的3版本结果。为什么?以及如何修复它?创建表时,可以存储的最大版本数已设置。最大版本的默认值为3: 您可以更改现有表以更改最大版本数 使用hshell: v = data.getValues(XP_PHONE); for (int i = 0; i < v.length; i++) { put.add(COLFAM, COL_PHONE, i, Bytes.
v = data.getValues(XP_PHONE);
for (int i = 0; i < v.length; i++) {
put.add(COLFAM, COL_PHONE, i, Bytes.toBytes(v[i].trim()));
}
你必须使用
public Get setMaxVersions(int-maxVersions)
获取更多版本或使用
setTimeStamp(长时间戳)
要设置要获取的版本,如果在列中插入相同的值10次并请求保留所有值的完整lit,默认情况下,您将只接收最后3个版本。这意味着您将只接收表架构中配置的内容 参考:Hbase权威指南
hbase> alter 'table_foo', {NAME => 'column_fam_foo', VERSIONS => 100}