开发环境:
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