HBase Shell操作

说明:以下说明只是帮助了解使用,更具体的操作到hbase shell中,根据提示信息使用

启动指令

集群启动:

  1. [atguigu@hadoop102 hbase]$ bin/start-hbase.sh

集群停止:

  1. [atguigu@hadoop102 hbase]$ bin/stop-hbase.sh

基础操作

1)进入HBase客户端命令行

  1. [atguigu@hadoop102 hbase]$ bin/hbase shell

2)查看帮助命令

  1. hbase(main):001:0> help

NS

Group name: namespace
Commands:

  1. alter_namespace,
  2. create_namespace, // create_namespace 'ns1'
  3. describe_namespace, //
  4. drop_namespace,
  5. list_namespace,
  6. ist_namespace_tables // ist_namespace_tables 'ns1' => ['t1','t2']查看ns的所有表

DDL

Group name: ddl
Commands:

  1. alter,// alter 't2',{NAME=>'f1',VERSIONS=>'1'} 说明:修改表t2的f1列簇历史版本最多1条
  2. alter_async,
  3. alter_status,
  4. create,// create 'ns1:t1','f1','f2' 说明:f1、f2为列簇
  5. // create 't2',{NAME=>'f1',VERSIONS=>'3'} 说明:在default命名空间内创建表t2,并指定t2的列簇f1的历史版本数为3
  6. // create 'ns1:t1','f1','f2',SPLITS=>['10','20','30']创建有4个region的表
  7. describe, // describe 'ns1:t1' 说明:查看表信息,可以看到有几个version
  8. disable, // disable 't1' 说明:禁用,禁用后不能查了,而且表必须禁用后才能drop掉
  9. disable_all,
  10. drop, // drop 'ns1:t1' 必须先disable 表
  11. // drop 'ns1' 必须先drop 表
  12. drop_all,
  13. enable,
  14. enable_all,
  15. exists,
  16. get_table,
  17. is_disabled,
  18. is_enabled,
  19. list, // 查看所有库的所有表
  20. list_regions,
  21. locate_region,
  22. show_filters

DML

Group name: dml
Commands:

  1. append,
  2. count, // count 't1' 说明:统计表的行数
  3. delete, // delete 'ns1:t1','r1','f1:q1' 说明:1、只能删除一个CELL,就是语句不能没有q12、如果不指定时间戳,默认删最新的
  4. // delete 'ns1:t1','r1','f1:q1',1620820135122 说明:删除
  5. deleteall, // delete 'ns1:t1','r1' 说明:删除一整行,也可以删除一个cell,不能删除整个 列簇f1
  6. get, 必须根据主键查询,不会全表扫描,效率更高
  7. // get 'ns1:t1','r1','f1:q1' 获取rowkey'r1'的数据,f1簇的q1字段
  8. // 除了要有主键,其他和scan差不多
  9. get_counter,
  10. get_splits,
  11. incr,
  12. put, // 说明:用于插入数据,也可以用于更新数据(覆盖version)==ns1:库名,t2:表名,r1:rowkey,c1:列簇,valuecell值==
  13. put 'ns1:t1','r1','c1','value' 说明:'r1'rowkey'c1'为列,格式:'列簇:列名''value'cell值。
  14. scan, 说明:可以全表扫描
  15. // scan 'ns1:t1'
  16. // scan 'ns1:t1',{VERSIONS=>2} 查看t1的前两个历史版本数据
  17. // scan 'ns1:t1',{COLUMNS=>['f1:q1','f2:q2']} 查询指定列簇的指定列限定符
  18. // scan 'ns1:t1',{COLUMNS=>['f1']} 查询整个列簇
  19. // scan 'ns1:t1',{COLUMNS=>['f1'],VERSIONS=>2,TIMERANGE=>[1233123131,5743746466]}
  20. // scan 'ns1:t1',{STARTROW=>'1',STOPROW=>'2'}根据rowkey,过滤出字典排序在12之间的数据,左开右闭
  21. truncate, // trunate 't1' 说明:清空表
  22. truncate_preserve

手动compact

  1. major_compact 't1'
  2. minor_compact 't1'