HBase编程 API入门系列之delete.deleteColumn和delete.deleteColumns区别(客户端而言)(4)

简介:

心得,写在前面的话,也许,中间会要多次执行,连接超时,多试试就好了。

  delete.deleteColumn和delete.deleteColumns区别是:

    deleteColumn是删除某一个列簇里的最新时间戳版本。

    delete.deleteColumns是删除某个列簇里的所有时间戳版本。

 

 

 

 

hbase(main):020:0> desc 'test_table'
Table test_table is ENABLED 
test_table 
COLUMN FAMILIES DESCRIPTION 
{NAME => 'f', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS 
=> 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'} 
1 row(s) in 0.2190 seconds

hbase(main):021:0> scan 'test_table'
ROW COLUMN+CELL 
row_01 column=f:col, timestamp=1478102698687, value=maizi 
row_01 column=f:name, timestamp=1478104345828, value=Andy 
row_02 column=f:name, timestamp=1478104477628, value=Andy2 
row_03 column=f:name, timestamp=1478104823358, value=Andy3 
3 row(s) in 0.2270 seconds

hbase(main):022:0> scan 'test_table'
ROW COLUMN+CELL 
row_01 column=f:col, timestamp=1478102698687, value=maizi 
row_01 column=f:name, timestamp=1478104345828, value=Andy 
row_02 column=f:name, timestamp=1478104477628, value=Andy2 
row_03 column=f:name, timestamp=1478104823358, value=Andy3 
3 row(s) in 0.1480 seconds

hbase(main):023:0> scan 'test_table',{VERSIONS=>3}
ROW COLUMN+CELL 
row_01 column=f:col, timestamp=1478102698687, value=maizi 
row_01 column=f:name, timestamp=1478104345828, value=Andy 
row_02 column=f:name, timestamp=1478104477628, value=Andy2 
row_03 column=f:name, timestamp=1478104823358, value=Andy3 
3 row(s) in 0.1670 seconds

hbase(main):024:0>

 

 

 

 

 

 

 

 

复制代码
 1 package zhouls.bigdata.HbaseProject.Test1;
 2 
 3 import javax.xml.transform.Result;
 4 
 5 import org.apache.hadoop.conf.Configuration;
 6 import org.apache.hadoop.hbase.HBaseConfiguration;
 7 import org.apache.hadoop.hbase.TableName;
 8 import org.apache.hadoop.hbase.client.Delete;
 9 import org.apache.hadoop.hbase.client.Get;
10 import org.apache.hadoop.hbase.client.HTable;
11 import org.apache.hadoop.hbase.client.Put;
12 import org.apache.hadoop.hbase.util.Bytes;
13 
14 public class HBaseTest {
15     public static void main(String[] args) throws Exception {
16         HTable table = new HTable(getConfig(),TableName.valueOf("test_table"));//表名是test_table
17         Put put = new Put(Bytes.toBytes("row_04"));//行键是row_04
18         put.add(Bytes.toBytes("f"),Bytes.toBytes("name"),Bytes.toBytes("Andy0"));//列簇是f,列修饰符是name,值是Andy0
19 //        put.add(Bytes.toBytes("f2"),Bytes.toBytes("name"),Bytes.toBytes("Andy3"));//列簇是f2,列修饰符是name,值是Andy3
20         table.put(put);
21         table.close();
22 
23 //        Get get = new Get(Bytes.toBytes("row_04"));
24 //        get.addColumn(Bytes.toBytes("f1"), Bytes.toBytes("age"));如现在这样,不指定,默认把所有的全拿出来
25 //        org.apache.hadoop.hbase.client.Result rest = table.get(get);
26 //        System.out.println(rest.toString());
27 //        table.close();
28 
29 //        Delete delete = new Delete(Bytes.toBytes("row_2"));
30 //        delete.deleteColumn(Bytes.toBytes("f1"), Bytes.toBytes("email"));
31 //        delete.deleteColumn(Bytes.toBytes("f1"), Bytes.toBytes("name"));
32 //        table.delete(delete);
33 //        table.close();
34 
35 
36 //        Delete delete = new Delete(Bytes.toBytes("row_03"));
37 //        delete.deleteColumn(Bytes.toBytes("f"), Bytes.toBytes("name"));
38 //        delete.deleteColumns(Bytes.toBytes("f"), Bytes.toBytes("name"));
39 //        table.delete(delete);
40 //        table.close();
41 }
42 
43     public static Configuration getConfig(){
44         Configuration configuration = new Configuration(); 
45 //        conf.set("hbase.rootdir","hdfs:HadoopMaster:9000/hbase");
46         configuration.set("hbase.zookeeper.quorum", "HadoopMaster:2181,HadoopSlave1:2181,HadoopSlave2:2181");
47         return configuration;
48     }
49 }
复制代码

 

 

 

 

 

 

 

 

 

 

hbase(main):038:0> scan 'test_table'
ROW COLUMN+CELL 
row_01 column=f:col, timestamp=1478102698687, value=maizi 
row_01 column=f:name, timestamp=1478104345828, value=Andy 
row_02 column=f:name, timestamp=1478104477628, value=Andy2 
row_03 column=f:name, timestamp=1478123664884, value=Andy3 
3 row(s) in 0.1910 seconds

hbase(main):039:0> scan 'test_table'
ROW COLUMN+CELL 
row_01 column=f:col, timestamp=1478102698687, value=maizi 
row_01 column=f:name, timestamp=1478104345828, value=Andy 
row_02 column=f:name, timestamp=1478104477628, value=Andy2 
row_03 column=f:name, timestamp=1478123664884, value=Andy3 
row_04 column=f:name, timestamp=1478123917775, value=Andy0 
4 row(s) in 0.1310 seconds

 

 

 

 

 

 

 

 

 

 

 

delete.deleteColumn和delete.deleteColumns区别是:

    deleteColumn是删除某一个列簇里的最新时间戳版本。

    delete.deleteColumns是删除某个列簇里的所有时间戳版本。

 

复制代码
 1 package zhouls.bigdata.HbaseProject.Test1;
 2 
 3 import javax.xml.transform.Result;
 4 
 5 import org.apache.hadoop.conf.Configuration;
 6 import org.apache.hadoop.hbase.HBaseConfiguration;
 7 import org.apache.hadoop.hbase.TableName;
 8 import org.apache.hadoop.hbase.client.Delete;
 9 import org.apache.hadoop.hbase.client.Get;
10 import org.apache.hadoop.hbase.client.HTable;
11 import org.apache.hadoop.hbase.client.Put;
12 import org.apache.hadoop.hbase.util.Bytes;
13 
14 public class HBaseTest {
15     public static void main(String[] args) throws Exception {
16         HTable table = new HTable(getConfig(),TableName.valueOf("test_table"));//表名是test_table
17         Put put = new Put(Bytes.toBytes("row_04"));//行键是row_04
18         put.add(Bytes.toBytes("f"),Bytes.toBytes("name"),Bytes.toBytes("Andy1"));//列簇是f,列修饰符是name,值是Andy0
19 //        put.add(Bytes.toBytes("f2"),Bytes.toBytes("name"),Bytes.toBytes("Andy3"));//列簇是f2,列修饰符是name,值是Andy3
20         table.put(put);
21         table.close();
22 
23 //        Get get = new Get(Bytes.toBytes("row_04"));
24 //        get.addColumn(Bytes.toBytes("f1"), Bytes.toBytes("age"));如现在这样,不指定,默认把所有的全拿出来
25 //        org.apache.hadoop.hbase.client.Result rest = table.get(get);
26 //        System.out.println(rest.toString());
27 //        table.close();
28 
29 //        Delete delete = new Delete(Bytes.toBytes("row_2"));
30 //        delete.deleteColumn(Bytes.toBytes("f1"), Bytes.toBytes("email"));
31 //        delete.deleteColumn(Bytes.toBytes("f1"), Bytes.toBytes("name"));
32 //        table.delete(delete);
33 //        table.close();
34 
35 
36 //        Delete delete = new Delete(Bytes.toBytes("row_03"));
37 //        delete.deleteColumn(Bytes.toBytes("f"), Bytes.toBytes("name"));
38 //        delete.deleteColumns(Bytes.toBytes("f"), Bytes.toBytes("name"));
39 //        table.delete(delete);
40 //        table.close();
41 }
42 
43     public static Configuration getConfig(){
44         Configuration configuration = new Configuration(); 
45 //        conf.set("hbase.rootdir","hdfs:HadoopMaster:9000/hbase");
46         configuration.set("hbase.zookeeper.quorum", "HadoopMaster:2181,HadoopSlave1:2181,HadoopSlave2:2181");
47         return configuration;
48     }
49 }
复制代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

delete.deleteColumn和delete.deleteColumns区别是:

    deleteColumn是删除某一个列簇里的最新时间戳版本。

    delete.deleteColumns是删除某个列簇里的所有时间戳版本。

 


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6156265.html,如需转载请自行联系原作者

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
26天前
|
前端开发 JavaScript API
基于React的简易REST API客户端设计与实现
基于React的简易REST API客户端设计与实现
19 3
|
1月前
|
JavaScript API
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
30 0
|
1月前
|
API 开发工具 开发者
抖音商品详情API入门:为开发者和商家打造增长工具箱
抖音商品详情API入门:为开发者和商家打造增长工具箱
51 0
|
3天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
21 11
|
11天前
|
存储 Java 关系型数据库
掌握Java 8 Stream API的艺术:详解流式编程(一)
掌握Java 8 Stream API的艺术:详解流式编程
42 1
|
21天前
|
JavaScript API
Composition Api 与 Options Api 有什么区别?
Composition Api 与 Options Api 有什么区别?
13 0
|
28天前
|
算法 Linux API
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
28 0
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
|
1月前
|
Linux API C++
【Linux C/C++ 线程同步 】Linux API 读写锁的编程使用
【Linux C/C++ 线程同步 】Linux API 读写锁的编程使用
20 1
|
2月前
|
前端开发 JavaScript API
前端秘法番外篇----学完Web API,前端才能算真正的入门
前端秘法番外篇----学完Web API,前端才能算真正的入门
|
2月前
|
JavaScript API
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
17 0