HBase表基本操作

一、启动、关闭HBase
启动hbase   start-hbase.sh
关闭habse	stop-hbase.sh
二、基本概念

namespace:命名空间
table: 表
rowKey:行健
       用于唯一标识一行数据,一行下有多列,行健的设计直接关系到查询的效率。
columnFamily:列族
       表下可以有多个列族,但不建议设置多个列族,HBase建议设计长窄型的表而不是短宽型。
qualifier:列
       一个列族下可以有多列,一个表中的列可以是不对齐的,但是这样效率不高,同一张表中的列最好是相同的。
row:行
       多列数据组成一行,一行中有多个qualifier。
cell:一列下的一个单元格
       一个列下可以有多个单元格,根据版本号区分,默认每次读取最新版本的数据,cell下的存储是数据本身。

三、命名空间

HBase默认定义了两个命名空间
hbase:存放系统内建表,包括namespace表和meta表
default:用户建表时未指定namespace的表都创建在此

  • 列出所有命名空间
    list_namespace
  • 新建命名空间
    create_namespace ‘my’
  • 删除命名空间
    drop_namespace ‘my’
  • 查看命名空间
    describe_namespace ‘my’
  • 查看命名空间下的表
    list_namespace_tables ‘my’
四、表操作
hbase表(my:t_test)示例
rowkeyinfoedu
nameagelevel
1001张三17primary
1002李四18 junior
  • 创建表
    create ‘my:t_test’,‘info’,‘edu’
  • 修改表结构
    alter ‘my:t_test’,NAME ‘work’    (添加新列族)
    alter ‘my:t_test’,Name=‘work’,METHOD=‘delete’      (删除列族)
    disable ‘t_test’    (使表无效)
    drop ‘my:t_test’    (删除表)
  • 添加数据  (指明表名、行键、列族名、列名、值)
    put ‘my:t_test’,‘1001’,‘info:name’,‘张三’
    put ‘my:t_test’,‘1001’,‘info:age’,‘17’
    put ‘my:t_test’,‘1002’,‘info:name’,‘李四’
  • 查询数据
    scan ‘my:t_test’        (扫描所有)
    scan ‘my:t_test’,{LIMIT=>3}      (扫描前3行)
    get ‘my:t_test’,‘1001’,‘info’      (查询指定列族的一行数据)
    get ‘my:t_test’,‘1001’,‘info:name’      (查询指定列族和列名的一行数据)
  • 更新数据  *(覆盖)
    put ‘my:t_test’,‘1001’,‘info:name’,‘王五’
  • 删除数据
    deleteall ‘my:t_test’,‘1001’      (删除一行)
    delete ‘my:t_test’,‘1001’,‘info:name’,‘张三’      (删除单元格数据)
    truncate ‘my:t_test’    (清空表数据)
  • 其它
    exists ‘my:t_test’    (检查表是否存在)
    desc ‘my:t_test’    (查看表信息)
五、授权

1、HBase表访问控制的5种权限
      Read(R) 允许对某个scope有读取权限
      Write (W) 允许对某个scope有写入权限
      Execute (X) 允许对某个scope有执行权限
      Create(C)允许对某个scope有建表、删表权限
      Admin (A) 允许对某个scope做管理操作,如balance、split、snapshot等

2、Scope

  • superuser 超级用户,一般为hbase用户,具备所有的权限
  • global 全局权限,针对所有的hbase表都有权限
  • namespace namespace下的所有表权限都有权限
  • table 表级别权限
  • columnFamily列族级别权限
  • cell 单元格级别权限

3、访问控制相关的命令
    grant     授权
    revoke   回收权限
    user_permission   查询权限

4、用户授权

  1. 赋予用户stu对命名空间“my”及下表的操作权限
    grant ‘stu’,‘RWXCA’,’@my’
  2. 赋予用户stu对表“my:t_test”的只读权限
    grant ‘stu’,‘R’,‘my:t_test’
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值