当前位置:编程学习 > JAVA >>

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

开发环境:
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及表的基本操作:
创建表
[html]  
>create 'users','user_id','address','info'  
添加记录
 
[html]  
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的所有数据
[html]  
>get 'users','xiaoming'  
2.获取一个id,一个列族的所有数据
[html]  
>get 'users','xiaoming','info'  
3.获取一个id,一个列族中一个列的所有数据
[html]  
>get 'users','xiaoming','info:age'  
更新记录
[html]  
>put 'users','xiaoming','info:age' ,'29'  
>get 'users','xiaoming','info:age'  
>put 'users','xiaoming','info:age' ,'30'  
>get 'users','xiaoming','info:age'  
获取单元格数据的版本数据
[html]  
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}  
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}  
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}  
获取单元格数据的某个版本数据
[html]  
〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}  
删除xiaoming值的'info:age'字段
[html] 
>delete 'users','xiaoming','info:age'  
>get 'users','xiaoming'  
删除整行
[html]  
>deleteall 'users','xiaoming'  
统计表的行数
[html]  
>count 'users'  
清空表
[html]  
>truncate 'users'  
全表扫描
[html]  
>scan 'users'  
输出结果:
 
[html] 
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                                                                      
 zhangyifei                                  column=address:city, timestamp=1378733106184, value=jieyang                                   &n
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,