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','易做图g';
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=易做图g &n
- 更多JAVA疑问解答:
- java怎么在线读取ftp服务器上的文件内容
- 关于程序员的职业规划
- HTML和JSP矛盾吗?
- java小程序如何打包?
- java怎么split路径文件名?
- jsp+javaBean中Column 'ordersPrice' specified twice的错误
- Java TCP/IP Socket网络编程系列
- 大家来讨论一下我到底该用什么好?Swing 还是 JavaFX
- 关于Hibernate实体自身多对一的抓取问题
- 关于apache2+tomcat群集出现的问题
- spring 获取上下文问题
- SSH 导入导出excel 谁有这块的资料吗?
- Ext TreePanel 刷新问题
- springmvc 加载一个jsp页面执行多个方法 报404
- checkbox数组action怎么向页面传值