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

相关文章
|
11月前
|
JSON 安全 API
电商API入门问答:开发者必知的10个基础问题
本文详解电商API的10个基础知识,涵盖定义、用途、认证、安全等内容,帮助开发者快速入门并提升开发效率。
|
11月前
|
缓存 监控 安全
电商API集成入门:从零开始搭建高效接口
在数字化电商时代,API集成成为企业提升效率、实现系统互联的关键。本文从零开始,逐步讲解如何搭建高效、可靠的电商API接口,适合初学者学习。内容涵盖API基础、认证安全、请求处理、性能优化等核心步骤,并提供Python代码示例与数学公式辅助理解。通过实践,读者可掌握构建优质电商API的技巧,提升用户体验与系统性能。
|
JSON 算法 API
一文掌握 1688 商品详情 API 接口:从入门到实战
1688是国内领先的综合电商批发平台,提供海量商品资源。其商品详情API助力开发者与企业获取商品的详细信息(如属性、价格、库存等),广泛应用于电商数据分析、比价系统及采购场景。API支持GET/POST请求,需传入通用参数(app_key、timestamp等)与业务参数(如product_id)。返回JSON格式数据,包含商品标题、价格、图片链接等详情,提升业务效率与决策精准度。
4574 6
|
搜索推荐 API 开发者
京东商品列表 API 接口全解析:从入门到精通
京东商品列表API是京东开放平台为开发者提供的核心数据接口,支持批量获取商品基础信息、价格、库存状态等多维度数据。它具备数据丰富性、灵活筛选与分页查询、稳定高效等特点,可满足市场分析、选品优化、比价工具及推荐系统开发等需求,为电商业务创新提供坚实支撑。通过标准化通道,助力第三方高效、合法地利用京东海量商品数据。
|
JSON API 开发工具
电商API接口入门指南
本文介绍了API的基础知识及其在电商领域的实际应用。首先,阐释了API的概念、运作机制及参数与返回值的作用,帮助读者理解如何通过API实现软件间的交互。接着,以获取电商商品列表为例,详细讲解了从选择平台、引入SDK到编写代码调用API的全流程。示例代码采用Python语言,利用requests库发送请求并解析JSON数据,为开发者提供了清晰的实践指导。
|
8月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
1626 1
Python API接口实战指南:从入门到精通
|
开发框架 .NET API
RESTful API 设计与实现:C# 开发者的一分钟入门
【10月更文挑战第5天】本文从零开始,介绍了如何使用 C# 和 ASP.NET Core 设计并实现一个简单的 RESTful API。首先解释了 RESTful API 的概念及其核心原则,然后详细说明了设计 RESTful API 的关键步骤,包括资源识别、URI 设计、HTTP 方法选择、状态码使用和错误处理。最后,通过一个用户管理 API 的示例,演示了如何创建项目、定义模型、实现控制器及运行测试,帮助读者掌握 RESTful API 的开发技巧。
893 7
|
编译器 API 定位技术
API和SDK的区别
API 和 SDK 的区别在于:API 是一组定义了软件组件之间交互规范的接口,用于实现不同软件组件之间的通信;而 SDK 是一个全面的工具集合,包含 API、编译器、调试器、文档等,用于特定平台的应用程序开发。SDK 范围更广,内容更丰富,更具体和具象化,适合复杂的开发需求;API 则更加抽象,侧重于功能的定义和调用方式。
|
10月前
|
JSON 数据挖掘 API
淘宝详情API接口与高级详情API接口用json返回数据区别
淘宝“商品详情API”与“高级商品API”主要区别在于数据深度、字段丰富度及适用场景。前者适用于轻量级导购展示,后者支持详情页展示与深度分析,需根据业务需求选择使用。
|
人工智能 监控 负载均衡
一文详述:AI 网关与 API 网关到底有什么区别?
近年来,AI发展迅猛,大模型成为推动业务创新的关键力量。企业面临如何安全管理和部署AI应用的挑战,需设计既能满足当前需求又可适应未来发展的基础架构。AI网关应运而生,在集成、管理和优化AI应用中扮演重要角色。本文探讨AI网关与API网关的区别,分析AI系统为何需要专门网关,并提供选择合适AI网关的建议。AI网关不仅支持多种模型,还具备高级安全性和性能优化功能,有助于企业在复杂环境中灵活应用AI技术。
1069 2