HBase基本语法

HBase操作

通过hbase shell进入

  • version – 查看版本
    HBase基本语法
  • status – 查看集群状态
    HBase基本语法
  • whoami – 查看当前有效用户名
    HBase基本语法
  • help – 查看帮助命令

HBase基本命令

用户权限管理

1、查看权限

  • 语法:user_permission [‘表名’…]
  • 例:查看customer表权限
    hbase(main)> user_permission 'customer'
    HBase基本语法

2、分配权限

  • 语法 : grant ‘用户名’, ‘RWXCA’
  • 权限用五个字母表示: “RWXCA”.
    READ(‘R’), WRITE(‘W’), EXEC(‘X’), CREATE(‘C’), ADMIN(‘A’)
  • 例:给用户‘root’分配读写执行管理的权限,
    hbase(main)> grant 'root', 'RWXCA'
    HBase基本语法

3、收回权限

  • 与分配权限类似,语法:revoke ‘用户名’ [,‘表名’…]

表管理

1、创建表

  • 语法:create ‘表名’,{NAME=>‘列簇名’},{NAME=>‘列簇名’}…
  • 例:创建表customer,列簇为addr、order
    hbase(main)> create 'customer',{NAME=>'addr'},{NAME=>'order'}
    HBase基本语法

2、 删除表

  • 分两步:首先disable,然后drop
  • 语法:disable ‘表名’----> drop ‘表名’
  • 例:删除cust表
    hbase(main)> disable 'cust'
    hbase(main)> drop 'cust'
    HBase基本语法

3、修改表名

  • 步骤:
    1、拍摄快照
    语法:snapshot ‘表名’,‘镜像名’
    例:hbase(main)> snapshot 'customer','temp'
    2、克隆快照,命名为新表名
    语法:clone_snapshot ‘镜像名’,‘新表名’
    例:hbase(main)> clone_snapshot 'temp','cust'
    3、删除快照
    语法:delete_snapshot ‘镜像名’
    例:hbase(main)> delete_snapshot 'temp'
    HBase基本语法
    HBase基本语法

4、查看有哪些表
hbase(main)> lis
HBase基本语法

行管理

1、添加数据

  • 语法:put ‘表名’,‘行键’,‘列簇名:列名’,‘值’[,时间戳]
  • 例:
    hbase(main)> put 'customer','1','addr:city','montoreal'
    hbase(main)> put 'customer','1','addr:address','210021 xiaohang road'
    HBase基本语法

2、修改数据

  • 语法与添加数据一致
  • 例:hbase(main)> put 'customer','1','addr:city','nanjing'
    HBase基本语法

3、删除行

  • 可以单独删除行,行内数据全部删除
  • 语法:delete ‘表名’ , ‘行键’
  • 例:
    #删除第二行数据:hbase(main)> delete 'customer','2'
    #统计行数:hbase(main)> count 'customer'
    HBase基本语法

列簇管理

1、增加列簇

  • 语法:alter ‘表名’,NAME=>‘列簇名’
  • 例:hbase(main)> alter 'customer',NAME=>'sample'
    HBase基本语法

2、删除列簇

  • 语法:alter ‘表名’,NAME=>‘列簇名’,METHOD=>‘delete’
  • 例:hbase(main)> alter 'customer',NAME=>'sample',METHOD=>'delete'
    HBase基本语法

3、修改列簇

  • 步骤:先加,后删

4、查询数据

  • a)查询某行记录
    语法:get ‘表名’, ‘行键’ [,‘列簇名’]
    例:hbase(main)> get 'customer','1','addr:city'
    HBase基本语法

  • b)扫描表
    语法:scan ‘表名’, {COLUMNS => ‘列簇名’, LIMIT => num}
    另外,还可以添加STARTROW、TIMERANGE和FITLER等高级功能
    例:
    hbase(main)> scan 'customer',{COLUMNS=>'addr:city'}
    HBase基本语法
    hbase(main)> scan 'customer',{LIMIT=>1}
    HBase基本语法

将文档数据导入HBase

步骤:

  • 1、HBase命令:
    ##创建表emp_basic
    hbase(main)> create 'emp_basic',{NAME=>'emp'},{NAME=>'time'}
    HBase基本语法

  • 2、linux命令:
    ##把文档上传HDFS
    hdfs dfs -put /root/emp_basic.csv /test/
    HBase基本语法
    ##通过hbase shell导入文档数据
    hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns="HBASE_ROW_KEY,emp:name,emp:job_title,emp:company,time:sDate,time:eDate" "emp_basic" /test/emp_basic.csv
    HBase基本语法

  • 3、HBase命令:
    ##查看文档是否导入成功
    hbase(main)> scan 'emp_basic'
    HBase基本语法