hbase开发,hbase表操作及其java api实现

本文介绍了在HBase开发环境下,如何配置Eclipse并使用Java API进行表操作,包括创建表、添加记录、获取和更新记录、删除数据以及全表扫描等基本操作。同时,展示了两个示例,分别输出表的列族名称和对表users2的操作。
摘要由CSDN通过智能技术生成

开发环境:

hadoop: hadoop-1.1.2

hbase: hbase-0.94.11-security

eclipse:Juno Service Release 2

配置Eclipse 

通过 Eclipse 创建一个新 Java 工程,右击项目根目录,选择“Properties> Java Build Path> Library>  Add  External  JARs”,将 HBase 安装文件解压后根目录下的hbase-0.94.11-security.jar、hbase-0.94.11-security-tests.jar 和 lib 子目录下所有的 jar 包添加到本工程的 Build Path下。 

示例使用表users及表的基本操作:

创建表

>create 'users','user_id','address','info'

添加记录


put 'users','xiaoming','info:age','24';
put 'users','xiaoming','info:birthday','1987-06-17';
put 'users','xiaoming','info:company','alibaba';
put 'users','xiaoming','address:contry','china';
put 'users','xiaoming','address:province','zhejiang';
put 'users','xiaoming','address:city','hangzhou';
put 'users','zhangyifei','info:birthday','1987-4-17';
put 'users','zhangyifei','info:favorite','movie';
put 'users','zhangyifei','info:company','alibaba';
put 'users','zhangyifei','address:contry','china';
put 'users','zhangyifei','address:province','guangdong';
put 'users','zhangyifei','address:city','jieyang';
put 'users','zhangyifei','address:town','xianqiao'
注意:最后一个语句没有分号,此时,按回车后将添加数据到表'users'中。

获取一条记录

1.取得一个id的所有数据
>get 'users','xiaoming'
2.获取一个id,一个列族的所有数据
>get 'users','xiaoming','info'
3.获取一个id,一个列族中一个列的所有数据
>get 'users','xiaoming','info:age'

更新记录

>put 'users','xiaoming','info:age' ,'29'
>get 'users','xiaoming','info:age'
>put 'users','xiaoming','info:age' ,'30'
>get 'users','xiaoming','info:age'

获取单元格数据的版本数据

>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}

获取单元格数据的某个版本数据

〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}

删除xiaoming值的'info:age'字段

>delete 'users','xiaoming','info:age'
>get 'users','xiaoming'

删除整行

>deleteall 'users','xiaoming'

统计表的行数

>count 'users'

清空表

>truncate 'users'

全表扫描

>scan 'users'

输出结果:

hbase(main):022:0> scan 'users'
ROW                                          COLUMN+CELL                                                                                                                    
 xiaoming                                    column=address:city, timestamp=1378733106132, value=hangzhou                                                                   
 xiaoming                                    column=address:contry, timestamp=1378733106058, value=china                                                                    
 xiaoming                                    column=address:province, timestamp=1378733106120, value=zhejiang                                                               
 xiaoming                                    column=info:age, timestamp=1378733105943, value=24                                                                             
 xiaoming                                    column=info:birthday, timestamp=1378733105961, value=1987-06-17                                                                
 xiaoming                                    column=info:company, timestamp=1378733106006, value=alibaba                                  
### 回答1: HBase一个分布式的、面向列的NoSQL数据库,它是建立在Hadoop之上的。HBase提供了Java API来管理,这些API可以用来创建、删除、修改和查询。使用Java API可以方便地与HBase进行交互,实现数据的读写和管理。在使用Java API时,需要先创建一个HBaseConfiguration对象,然后通过该对象创建一个HBaseAdmin对象,通过HBaseAdmin对象可以进行的管理操作。同时,还可以使用HBase的Put和Get对象来进行数据的读写操作。总之,使用Java API可以方便地管理HBase实现数据的高效存储和查询。 ### 回答2: HBase一个高可扩展性、高可靠性的分布式列存储系统,常用于海量数据的存储与实时查询。在HBase被分成若干区域(Region),每个Region包含一段rowkey范围内的数据。HBase使用Zookeeper协调Region Server和HMaster的进程启动和监管系统,其提供了简单的Java API进行操作和使用。 HBaseJava API提供了一系列操作的方法,主要包括创建、删除、获取信息、插入数据、查询数据和删除数据等操作。 首先,创建需要确定名、列族和行键的设计。使用Java API时,可使用TableDescriptorBuilder来创建的描述,其需要指定名和列族名。对于每个列族,需要指定数据是否压缩、存储类型等信息。 其次,对于已有进行删除时,首先要停止对该的所有操作,并将其进行禁用。使用Java API时,可使用Admin.disableTable()方法对进行禁用,然后通过Admin.deleteTable()方法将进行删除。 获取信息可使用Admin.getDescriptor()方法获取的描述信息,包括名、列族和数据存储信息等。 对于插入数据,HBase的数据是以KV(Key-Value)的形式存储,所以需要一个Put对象来承载需要存储的数据。使用Table.put()方法可以将数据存储到对应的。 查询数据可使用Scan或Get方法,其Scan可针对整个进行扫描,Get可获取指定的行键的数据。使用Scan和Get方法可获取批量数据和单条数据,具体使用时根据实际情况进行选择。 删除数据可使用Delete方法,可以删除指定行键的数据。使用Table.delete()方法可以实现对数据的删除操作。 总之,HBaseJava API提供了方便快捷的方式对HBase进行管理和操作,可以很好地满足海量数据的存储和实时查询需求。 ### 回答3: HBase一个开源的NoSQL数据库,采用分布式存储的方式来存储数据,并且可以在百万级别的数据规模下保证数据的高可靠性、高可扩展性和高性能。HBase提供了Java API来管理实现数据的增删改查等操作。 在使用HBase Java API管理时,需要先连接到HBase集群。可以通过HBaseConfiguration类来创建一个Configuration实例,该实例包含了与Hadoop和HBase相关的配置信息,然后通过ConnectionFactory类的createConnection方法来创建一个Connection实例,即可连接到HBase集群。 对于的管理,HBase提供了Table类,通过该类的实例可以进行数据的增删改查操作。需要通过TableDescriptorBuilder构建的描述信息,包括名、列族等信息,然后通过Admin类的createTable方法来创建。如果需要删除,则可以使用Admin类的deleteTable方法来删除。 对于数据的增删改查操作,需要先获取到Table类的实例,然后通过Put类、Delete类和Get类来进行数据的插入、删除和查询操作。对于Put类的实例,需要通过addColumn方法来定义要插入的列族和列,然后通过add方法来设置列的值;对于Delete类的实例,需要通过addColumn方法来定义要删除的列族和列;对于Get类的实例,则需要通过addColumn方法来定义要查询的列族和列,然后通过Result类的实例来获取查询结果。 在进行数据操作时,如果需要批量操作,可以使用Batch类的实例来进行批量操作。Batch类提供了一系列add方法用于添加Put、Delete和Increment对象,然后通过Table类的batch方法来批量提交操作。 总之,HBase Java API提供了一系列方便的方法来管理和进行数据操作,可以满足大规模数据存储的需求。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值