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; import java.io.IOException; /**
* 在hbase中删除数据
*/
public class DeleteDataFromHbase {
public static void main(String args[]) throws IOException {
Configuration configuration = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(configuration);
//建立表的连接
Table table = connection.getTable(TableName.valueOf("testtable"));
//穿件删除指定的行
Delete delete = new Delete(Bytes.toBytes("5701"));
//Set timestamp for row deletes.
delete.setTimestamp(1);
//只删除最后版本的一列
delete.addColumn(Bytes.toBytes("colfam1"),Bytes.toBytes("qual1000"));
//删除指定版本的一列
delete.addColumn(Bytes.toBytes("colfam1"),Bytes.toBytes("qual1000"),3);
//删除指定版本列的所有数据
delete.addColumn(Bytes.toBytes("colfam1"),Bytes.toBytes("qual1000"));
//删除给定而且老的版本的列
delete.addColumn(Bytes.toBytes("colfam1"),Bytes.toBytes("qual1000"),2);
//删除所有的列族
delete.addFamily(Bytes.toBytes("colfam1"));
//删除给定版本的列族数据
delete.addFamily(Bytes.toBytes("colfam1"), 3);
delete.addFamily(Bytes.toBytes("colfam1"), 2);
delete.addFamily(Bytes.toBytes("colfam1"), 1);
//删除操作
table.delete(delete);
}
}
/**
---
5702 column=colfam1:qual0997, timestamp=1471844438322, value=val0997
5702 column=colfam1:qual0998, timestamp=1471844438322, value=val0998
5702 column=colfam1:qual0999, timestamp=1471844438322, value=val0999
convert <== delete.addColumn(Bytes.toBytes("colfam1"),Bytes.toBytes("qual0998"));
5702 column=colfam1:qual0997, timestamp=1471844438322, value=val0997
5702 column=colfam1:qual0998, timestamp=1471844438322, value=val0998
5702 column=colfam1:qual0999, timestamp=1471844438322, value=val0999
convert <== delete.addColumn(Bytes.toBytes("colfam1"),Bytes.toBytes("qual0999"),3);
5702 column=colfam1:qual0997, timestamp=1471844438322, value=val0997
5702 column=colfam1:qual0998, timestamp=1471844438322, value=val0998
5702 column=colfam1:qual0999, timestamp=1471844438322, value=val0999
convert <==
---
5702 column=colfam1:qual0998, timestamp=1, type=Delete
5702 column=colfam1:qual0999, timestamp=1471844438322, value=val0999
5702 column=colfam1:qual0999, timestamp=3, type=Delete *
*
*/

Hbase之删除数据的更多相关文章

  1. Hbase之批量删除数据

    import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; impo ...

  2. HBase删除数据的原理

    转自:https://blog.csdn.net/cenjianteng/article/details/96645447 -------------------------------------- ...

  3. HBase删除数据

    hbase官方文档中描述了,hbase删除数据可以总结为下面三种(Java API有很多接口,可以总结下面的几种): 删除一个列的指定版本 删除一个列的所用版本 删除指定列族的所有列 hbase删除数 ...

  4. HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较

    摘要:   在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出此办法的性能是不能满足应用要求的,很显然对于如此成熟的HBase来说,高性能获取数据应该不是问题. ...

  5. HBase协处理器统计表数据量

    1.Java代码实现 import org.apache.hadoop.hbase.client.coprocessor.AggregationClient; import org.apache.ha ...

  6. hbase高性能读取数据

    有时需要从hbase中一次读取大量的数据,同时对实时性有较高的要求.可以从两方面进行考虑:1.hbase提供的get方法提供了批量获取数据方法,通过组装一个list<Get> gets即可 ...

  7. HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成数据的增删改查

    转:http://www.th7.cn/db/nosql/201510/135382.shtml 1. HDFS的文件append功能 早期版本的HDFS不支持任何的文件更新操作,一旦一个文件创建.写 ...

  8. HBase表的数据导出和导入

    1. 表数据导出 hbase org.apache.hadoop.hbase.mapreduce.Export test file:///home/hadoop/test (导入到本地) hbase ...

  9. CRL快速开发框架系列教程四(删除数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

随机推荐

  1. Poj(1511),SPFA

    题目链接:http://poj.org/problem?id=1511 嗯,最后一次写SPFA了,以后就套模板了. 题意:给出n个点和n条有向边,求所有点到源点1的来回最短路之和(保证每个点都可以往返 ...

  2. nylg 640 Geometric Sum

    Geometric Sum 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 Compute (a + a^2 + … + a^n) mod m.(a+a2+…an)m ...

  3. 2017年1月8日 星期日 --出埃及记 Exodus 21:34

    2017年1月8日 星期日 --出埃及记 Exodus 21:34 the owner of the pit must pay for the loss; he must pay its owner, ...

  4. 快速编译system.img、userdata.img、boot.img的方法

    快速编译system.img和boot.img的方法 快速编译system.img,可以使用这个命令: #make systemimage 快速编译boot.img,可以使用以下命令: #make b ...

  5. 个人对js闭包的理解

      闭包算是前端面试的基础题,但我看了很多关于闭包的文章博客,但感觉很多对于闭包的理想还是有分歧的,现在网上对闭包的理解一般是两种: 有些文章认为闭包必须要返回嵌套函数中里面用到外面函数局部变量的方法 ...

  6. C#实现随机抽奖和冒泡排序

    随机抽奖程序 string[] s = new string[] { "A", "B", "C", "D", " ...

  7. UE4高级功能--初探超大无缝地图的实现LevelStream

    转自:http://blog.csdn.net/u011707076/article/details/44903223 LevelStream 实现超大无缝地图--官方文档学习 The Level S ...

  8. git fetch 的简单用法:更新远程代码到本地仓库

    方式一 1. 查看远程仓库 1 2 3 4 5 6 $ git remote -v eoecn https://github.com/eoecn/android-app.git (fetch) eoe ...

  9. 不小心删除数据--利用MySQL的binlog恢复数据

    MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与maste ...

  10. python基础字符串操作

    去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sS ...