hbase 学习笔记

1、安装环境参考

http://blog.csdn.net/bahaidong/article/details/42121095

2、启动(集群模式)

启动master上的hbase
[hadoop@master hbase-0.99.2]$ bin/start-hbase.sh

进入hbase shell

[hadoop@master hbase-0.99.2]$ bin/hbase shell

关闭

[hadoop@master hbase-0.99.2]$ bin/stop-hbase.sh

3、常见命令

1)创建表table,必须指定表明和列族(You must specify the table name and the ColumnFamily name),除了命令必须加上引号

hbase(main):002:0> create 'test', 'cf'

0 row(s) in 0.7500 seconds

=> Hbase::Table - test

2)查询表信息

hbase(main):001:0> list 'test'
TABLE 
test                                                                                                                                                                                         
1 row(s) in 3.5690 seconds

=> ["test"]

3)插入数据使用put命令(如果键存在则更新数据否则插入数据)

hbase(main):002:0> put 'test','row1','cf:a','value1'
0 row(s) in 0.5370 seconds

hbase(main):003:0> put 'test','row1','cf:b','value2'
0 row(s) in 0.0340 seconds

hbase(main):004:0> put 'test','row1','cf:c','value3'
0 row(s) in 0.0140 seconds

4)查询表用scan命令

hbase(main):011:0> scan 'test'
ROW                                              COLUMN+CELL                                                                                                                                 
 row1                                            column=cf:a, timestamp=1426556764314, value=value1                                                                                          
 row2                                            column=cf:b, timestamp=1426557114612, value=value2                                                                                          
 row3                                            column=cf:c, timestamp=1426557124384, value=value3                                                                                          
3 row(s) in 0.0470 seconds

5)查询一条数据使用get命令

hbase(main):012:0> get 'test','row1'
COLUMN                                           CELL                                                                                                                                        
 cf:a                                            timestamp=1426556764314, value=value1                                                                                                       
1 row(s) in 0.0670 seconds

6)删除表首先停用表disable(enable启用表)命令,然后用drop删除表

hbase(main):013:0> disable 'test'
0 row(s) in 3.8760 seconds

hbase(main):014:0> enable 'test'
0 row(s) in 0.9180 seconds

hbase(main):015:0> disable 'test'
0 row(s) in 1.3960 seconds

hbase(main):016:0> drop 'test'
0 row(s) in 0.4010 seconds

7)退出habse使用quit命令

hbase(main):017:0> quit

8)创建namespace

#Create a namespace

hbase(main):008:0> create_namespace 'my_ns'
0 row(s) in 0.4390 seconds
#create my_table in my_ns namespace
hbase(main):009:0> create 'my_ns:my_table' ,'fam'
0 row(s) in 2.6710 seconds

#drop namespace

hbase(main):011:0> drop_namespace 'my_ns'

9)显示表的详细信息

hbase(main):003:0> describe 'users'

10)查询表中有多少行:

hbase(main):019:0>count 'member'      

11)查询前多少行数据

hbase(main):012:0> scan 'ap_info_top_day',{LIMIT=>20}




  1. 权限管理
    1)分配权限
    # 语法 : grant <user> <permissions> <table> <column family> <column qualifier> 参数后面用逗号分隔
    # 权限用五个字母表示: "RWXCA".
    # READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A')
    # 例如,给用户‘test'分配对表t1有读写的权限,
    hbase(main)> grant 'test' , 'RW' , 't1'

    2)查看权限

    # 语法:user_permission <table>
    # 例如,查看表t1的权限列表
    hbase(main)> user_permission 't1'

    3)收回权限

    # 与分配权限类似,语法:revoke <user> <table> <column family> <column qualifier>
    # 例如,收回test用户在表t1上的权限
    hbase(main)> revoke 'test' , 't1'
  2. 表数据的增删改查
    1)添加数据
    # 语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>
    # 例如:给表t1的添加一行记录:rowkey是rowkey001,family name:f1,column name:col1,value:value01,timestamp:系统默认
    hbase(main)> put 't1' , 'rowkey001' , 'f1:col1' , 'value01'
    用法比较单一。

    2)查询数据
    a)查询某行记录

    # 语法:get <table>,<rowkey>,[<family:column>,....]
    # 例如:查询表t1,rowkey001中的f1下的col1的值
    hbase(main)> get 't1' , 'rowkey001' , 'f1:col1'
    # 或者:
    hbase(main)> get 't1' , 'rowkey001' , {COLUMN=> 'f1:col1' }
    # 查询表t1,rowke002中的f1下的所有列值
    hbase(main)> get 't1' , 'rowkey001'

    b)扫描表

    # 语法:scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num}
    # 另外,还可以添加STARTROW、TIMERANGE和FITLER等高级功能
    # 例如:扫描表t1的前5条数据
    hbase(main)> scan 't1' ,{LIMIT=>5}

    c)查询表中的数据行数

    # 语法:count <table>, {INTERVAL => intervalNum, CACHE => cacheNum}
    # INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度
    # 例如,查询表t1中的行数,每100条显示一次,缓存区为500
    hbase(main)> count 't1' , {INTERVAL => 100, CACHE => 500}

    3)删除数据
    a )删除行中的某个列值

    # 语法:delete <table>, <rowkey>,  <family:column> , <timestamp>,必须指定列名
    # 例如:删除表t1,rowkey001中的f1:col1的数据
    hbase(main)> delete 't1' , 'rowkey001' , 'f1:col1'

    注:将删除改行f1:col1列所有版本的数据
    b )删除行

    # 语法:deleteall <table>, <rowkey>,  <family:column> , <timestamp>,可以不指定列名,删除整行数据
    # 例如:删除表t1,rowk001的数据
    hbase(main)> deleteall 't1' , 'rowkey001'

    c)删除表中的所有数据

    # 语法: truncate <table>
    # 其具体过程是:disable table -> drop table -> create table
    # 例如:删除表t1的所有数据
    hbase(main)> truncate 't1'


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值