hbase2.1.x java delete根据rowkey删除一行数据

说明

根据 rowkey 删除一行数据,也会 删除 所有历史数据

步骤

  1. 获取table对象
  2. 根据rowkey构建 Delete 对象
  3. 执行 Delete 方法
  4. 关闭table

添加测试数据

添加数据、并且多次修改 price,所以 price 有历史数据

put 'book','1010','c1:title','hadoop从入门到放弃'
put 'book','1010','c1:author','lucy'
put 'book','1010','c1:price','097.50'

对价格进行多次修改:

put 'book','1010','c1:price','089.90'
put 'book','1010','c1:price','059.90'

注意: 价格 格式,这是字符串比较

代码

删除的关键代码

/**
 * 根据rowKey,删除某行的数据
 * @param tableName
 * @param rowKey
 * @throws IOException
 */
public void delete(String tableName,String rowKey) throws IOException {
    TableName tn = TableName.valueOf(tableName);
    Table table = conn.getTable(tn);
    Delete delete=new Delete(Bytes.toBytes(rowKey));
    table.delete(delete);
    table.close();

}

测试

hu.delete("book","1010");

查询

在 hbase shell 环境中执行下面名:

scan 'book',{FORMATTER => 'toString'}

查询不到 rowkey是1010 历史记录,说明该 删除方法 可以删除历史数据


原文出处:/show_1IX2zFadhkWz.html