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,如需转载请自行联系原作者

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库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
相关文章
|
24天前
|
编译器 API 定位技术
API和SDK的区别
API 和 SDK 的区别在于:API 是一组定义了软件组件之间交互规范的接口,用于实现不同软件组件之间的通信;而 SDK 是一个全面的工具集合,包含 API、编译器、调试器、文档等,用于特定平台的应用程序开发。SDK 范围更广,内容更丰富,更具体和具象化,适合复杂的开发需求;API 则更加抽象,侧重于功能的定义和调用方式。
|
1月前
|
人工智能 监控 负载均衡
一文详述:AI 网关与 API 网关到底有什么区别?
近年来,AI发展迅猛,大模型成为推动业务创新的关键力量。企业面临如何安全管理和部署AI应用的挑战,需设计既能满足当前需求又可适应未来发展的基础架构。AI网关应运而生,在集成、管理和优化AI应用中扮演重要角色。本文探讨AI网关与API网关的区别,分析AI系统为何需要专门网关,并提供选择合适AI网关的建议。AI网关不仅支持多种模型,还具备高级安全性和性能优化功能,有助于企业在复杂环境中灵活应用AI技术。
78 1
|
23天前
|
编译器 API 定位技术
API和SDK的区别
API(应用程序编程接口)和SDK(软件开发工具包)的主要区别在于范围、内容、抽象程度及使用方式。API定义了软件组件间的交互规则,范围较窄,更抽象;而SDK提供了一整套开发工具,包括API、编译器、调试器等,范围广泛,具体且实用,有助于提高开发效率。
|
1月前
|
JavaScript 前端开发 安全
|
1月前
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
|
2月前
|
网络协议 API Windows
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
|
3月前
|
XML 安全 API
REST 和 SOAP API 有什么区别?
【8月更文挑战第31天】
161 0
|
3月前
|
JSON API 数据库
神秘编程力量来袭!Rails 究竟隐藏着怎样的魔力,能构建出强大的 RESTful API?快来一探究竟!
【8月更文挑战第31天】《构建 RESTful API:使用 Rails 进行服务端开发》介绍了如何利用 Ruby on Rails 框架高效构建可扩展的 RESTful API。Rails 采用“约定优于配置”,简化开发流程,通过示例展示了路由定义、控制器设计及模型层交互等内容,帮助开发者快速搭建稳定可靠的服务端。无论小型项目还是大型应用,Rails 均能提供强大支持,提升开发效率。
28 0
|
缓存 API
|
10天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
下一篇
无影云桌面