(1)在maven项目hbasedemo中新建Java类HBaseDeleteData.java,在main函数中写入删除数据的代码。例如,删除表t1中行键为row1的一整条数据,代码如下:
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.util.Bytes; /**根据rowkey查询一条数据,实测成功,直接右键运行即可**/ public class HBaseDeleteData{ public static void main(String[] args) throws Exception { //创建Hadoop配置对象 Configuration conf=HBaseConfiguration.create(); //指定ZooKeeper集群地址 conf.set("hbase.zookeeper.quorum", "192.168.170.128:2181,192.168.170.129:2181,192.168.170.130:2181"); //获得数据库连接 Connection conn=ConnectionFactory.createConnection(conf); //获取Table对象,指定表名,Table负责与记录相关的操作,如增删改查等 TableName tableName=TableName.valueOf("t1"); Table table=conn.getTable(tableName); //创建删除对象Delete,根据rowkey删除一整条 Delete delete=new Delete(Bytes.toBytes("row1")); table.delete(delete); //释放资源 table.close(); System.out.println("delete data success!!"); } }(2)右键运行main函数,输出delete data success!!信息,则说明数据删除成功。
(3)在HBase集群的centos01节点上,输入hbase shell进入Shell命令行模式,然后输入scan 't1'命令扫描表t1中的数据,结果如下:
从结果中我们可以看到,表t1中的rowkey为row1的行已经被删除了。