原来是创建表的时候没有设置保存的最大版本数,默认为1,在代码中列描述器添加如下:
//保存的历史版本,默认为1
hColumnDescriptor.setMaxVersions(5);
//创建表
public static void createTable(String tableName, String... cfs) throws IOException {
if(cfs.length <= 0){
System.out.println("请设置列族信息");
return;
}
if(isTableExist(tableName)){
System.out.println(tableName+"表已存在");
return;
}
//创建表描述器
HTableDescriptor hTableDescriptor = new HTableDescriptor(TableName.valueOf(tableName));
//循环添加列族信息
for(String cf:cfs){
//创建列族描述器
HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(cf);
//保存的历史版本,默认为1
hColumnDescriptor.setMaxVersions(5);
//添加列族信息
hTableDescriptor.addFamily(hColumnDescriptor);
}
admin.createTable(hTableDescriptor);
}