III、 HBase-常用shell命令

一、基本操作

  • 进入HBase客户端命令行

    bin/hbase shell
  • 查看帮助命令

hbase(main)> help

  • 查看当前数据库中有哪些表

hbase(main)> list

  • 查看当前数据库中有哪些命名空间

hbase(main)> list_namespace

二、 表的操作

  • 创建表

hbase(main)> create 'student','info'
hbase(main)> create 'iparkmerchant_order','smzf'
hbase(main)> create 'staff','info'
  • 插入数据到表

hbase(main) > put 'student2','1001',cf1:name','Thomas'
hbase(main) > put 'student2','1001','cf1:sex','male'
hbase(main) > put 'student2','1001','cf1:age','18'
hbase(main) > put 'student2','1002','cf1:name','Janna'
hbase(main) > put 'student2','1002','cf1:sex','female'
hbase(main) > put 'student2','1002','cf1:age','20'
  • 扫描查看表数据

hbase(main) > scan 'student'
hbase(main) > scan 'student',{STARTROW => '1001', STOPROW  => '1001'}
hbase(main) > scan 'student',{STARTROW => '1001'}
  • 查看表结构

hbase(main):012:0> desc 'student'

  • 更新指定字段的数据

hbase(main) > put 'student','1001','info:name','Nick'
hbase(main) > put 'student','1001','info:age','100'
hbase(main) > put 'student','1001','info:isNull',''(仅测试空值问题)
  • 查看“指定行”或“指定列族:列”的数据

hbase(main) > get 'student','1001'
hbase(main) > get 'student','1001','info:name'
  • 删除某rowkey的全部数据

hbase(main) > deleteall 'student','1001'

  • 清空表数据

hbase(main) > truncate 'student'
提示:清空表的操作顺序为先disable,然后再truncate。

  • 删除表

首先需要先让该表为disable状态:
hbase(main) > disable 'student'
检查这个表是否被禁用

hbase(main) > is_enabled 'hbase_book'
hbase(main) > is_disabled 'hbase_book'

恢复被禁用得表
enable 'student'
然后才能drop这个表:
hbase(main) > drop 'student'
提示:如果直接drop表,会报错:Drop the named table. Table must first be disabled
ERROR: Table student is enabled. Disable it first.

  • 统计表数据行数

hbase(main) > count 'student'

  • 变更表信息

将info列族中的数据存放3个版本
hbase(main) > alter 'student',{NAME=>'info',VERSIONS=>3}
查看student的最新的版本的数据
hbase(main) > get 'student','1001'
查看HBase中的多版本
hbase(main) > get 'student','1001',{COLUMN=>'info:name',VERSIONS=>10}

三、 常用Shell操作

  • satus 例如:显示服务器状态

hbase> status 'bigdata111'

  • exists 检查表是否存在,适用于表量特别多的情况

hbase> exists 'hbase_book'

  • is_enabled/is_disabled 检查表是否启用或禁用``

hbase> is_enabled 'hbase_book'
hbase> is_disabled 'hbase_book'
  • alter 该命令可以改变表和列族的模式,例如:

为当前表增加列族:
hbase> alter 'hbase_book', NAME => 'CF2', VERSIONS => 2
为当前表删除列族:
hbase> alter 'hbase_book', 'delete' => 'CF2'

  • disable禁用一张表

hbase> disable 'hbase_book'
hbase> drop 'hbase_book'
  • delete

删除一行中一个单元格的值,例如:
hbase> delete 'hbase_book', 'rowKey', 'CF:C'

  • truncate清空表数据,即禁用表-删除表-创建表

hbase> truncate 'hbase_book'

  • create

创建多个列族:
hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}

你可能感兴趣的:(III、 HBase-常用shell命令)