第9章 HBase操作 (4)

(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中的数据,结果如下:

hbase(main):019:0> scan 't1' ROW COLUMN+CELL row2 column=f1:address, timestamp=1514533573514, value=beijing2 row2 column=f1:age, timestamp=1514533573514, value=22 row2 column=f1:name, timestamp=1514533573514, value=xiaoming2 row3 column=f1:address, timestamp=1514533573524, value=beijing3 row3 column=f1:age, timestamp=1514533573524, value=25 2 row(s) in 0.1080 seconds

从结果中我们可以看到,表t1中的rowkey为row1的行已经被删除了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyfzf.html