六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 997|回复: 0

hbase应用示例

[复制链接]

升级  71.33%

43

主题

43

主题

43

主题

秀才

Rank: 2

积分
157
 楼主| 发表于 2013-1-30 01:57:29 | 显示全部楼层 |阅读模式
说明:新版hbase取消了对HQL的支持,只能使用shell
 

命令:disable 'tableName' --disable表。注:修改表结构时,必须要先disable表。
命令:enable 'tableName' --使表可用
命令:drop 'tableName' --删除表
 

HBase基本命令
下面我们再看看看HBase的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:
名称
命令表达式
创建表create '表名称', '列名称1','列名称2','列名称N'
添加记录      put '表名称', '行名称', '列名称:', '值'
查看记录get '表名称', '行名称'
查看表中的记录总数count  '表名称'
删除记录delete  '表名' ,'行名称' , '列名称'
删除一张表先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步  drop '表名称'
查看所有记录scan "表名称"  
查看某个表某个列中所有数据scan "表名称" , ['列名称:']
更新记录 就是重写一遍进行覆盖
 
 
 
1. 创建表
 create 'student','name','address'  
 新建student表,该表有两列 名称和地址,名称只有一个,address可以有多个,
 
2.插入一条记录,只能插入某列
  put 'student','1','name','tom' 
 向student有中插入记录,记录的row值为1,列name的值为tom
 
3. 根据row值 查询一条记录
    get 'student','1'
 
 查询结果:
 
COLUMN                       CELL
 
 name:                       timestamp=1301473112875, value=tom
 
 
4. 根据row值更新name值 (系统会直接更新)
   put 'student','1','name','tom2'
 
5.再查询时,系统返回最新的值
 
  hbase(main):052:0> get 'student','1'
  COLUMN                       CELL
 
  name:                       timestamp=1301473425265, value=tom2
 
 
6.根据timestamp查询更新之前的 name值,
    get 'student','1',{COLUMN=>'name',TIMESTAMP=>1301473112875}
 
7. 给学生的地址簇插入家庭地址
 put 'student','1','address:home','shenzhen street'
8. 给学生的地址簇插入学校地址
 put 'student','1','address:school','huaqiangbei street'
9. 查询学生的家庭地址
 get 'student','1',{COLUMN=>'address:home'}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表