HBase Shell基本操作

1. 基本操作

1)进入HBase客户端命令行:

1$HBASE_HOME/bin/hbase shell 2 3

2)查看命令帮助:

1help 2 3

3)查看表空间,及表空间中表信息.

  1. 列出所有表空间

1list_namespace 2 3

在这里插入图片描述
2. 列出某个表空间中所有的表

1# list_namespace_tables 'namsespace' 2list_namespace_tables 'hbase' 3 4

在这里插入图片描述
3. 列出当前namespace中所有表

1list 2 3

在这里插入图片描述

2. 表的操作

  1. 创建表

1# create 't1', {NAME => 'f1'}[, {NAME => 'f2'}, {NAME => 'f3'} ....] 2# ↑可简写为:create 't1', 'f1'[, 'f2', 'f3' ....] 3# t1 : 表名 4# f1,f2,f3 : 列族 5create 'student', 'info' 6 7
  1. 插入数据到表

1# put 't1', 'r1','f1:c1','v1' 2# t1 : 表名 3# r1 :rowkey 4# f1:c1 :列族:列 5# v1: :为该列附的值 6put 'student','1001','info:sex','male' 7put 'student','1001','info:age','18' 8put 'student','1002','info:name','Janna' 9put 'student','1002','info:sex','female' 10put 'student','1002','info:age','20' 11 12

在这里插入图片描述

  1. 查看表数据(扫描):

1# 全表扫描 2scan 'student' 3 4

在这里插入图片描述

1# rowkey范围扫描(包含STARTROW,不包含STOPROW) 2# 当前表中数据下面语法与scan 'student', {STOPROW => '1002'}返回结果相同 3scan 'student', {STARTROW => '1001', STOPROW => '1002'} 4 5

在这里插入图片描述

1# 指定rowkey扫描 2scan 'student', {STARTROW => '1002'} 3 4

在这里插入图片描述

  1. 查看表结构

1describe 'student' 2 3

在这里插入图片描述

  1. 更新指定字段(列)的数据

1put 'student', '1001', 'info:name', 'Nick' 2put 'student', '1001', 'info:age', '3' 3 4
  1. 查看指定行,或指定列族:列的数据

1get 'student', '1001' 2get 'student', '1001', 'info:name' 3 4

在这里插入图片描述
在这里插入图片描述

  1. 统计表中数据行数

1count 'student' 2# 如果想要精确到某列 3count 'student', COLUMNS => ['info:name'] 4 5

在这里插入图片描述
8. 删除数据

1)删除某rowkey的全部数据:

1deleteall 'student', '1001' 2 3

2)删除某rowkey的某一列数据:

1delete 'student', '1001', 'info:name' 2 3

在这里插入图片描述

  1. 清空表数据

1truncate 'student' 2 3

注:清空表的顺序是,先disable,再truncate
在这里插入图片描述

  1. 删除表

删除表需要先 让表处于disable状态,再删除.
在这里插入图片描述

1disable 'student' 2drop 'student' 3 4

在这里插入图片描述

  1. 改变表信息

1# 列族中的数据会存放三个版本 2alter 'student', {NAME => 'info', VERSIONS => 3} 3 4

在这里插入图片描述

1put 'student', '1001', 'info:name', 'Nick' 2put 'student', '1001', 'info:name', 'Nick002' 3put 'student', '1001', 'info:name', 'Nick003' 4 5

在这里插入图片描述

1get 'student', '1001', {COLUMN => 'info:name', VERSIONS => 3} 2 3

在这里插入图片描述
在添加一条数据,VERSION 1的数据就会被移除

1put 'student', '1001', 'info:name', 'Nick004' 2 3

在这里插入图片描述

代码交流 2021