HBase2.4.8详细教程(二)HBase Shell命令

        通过hbase shell命令,可以进入到HBase的命令行界面。

hbase shell

        如下图所示:
在这里插入图片描述

        查看HBase版本号:

version

在这里插入图片描述

        查看HBase各集群状态:

status

在这里插入图片描述

        注意,如果执行HBase Shell命令时候,出现了:
Server is not running yet 异常,应关闭Hadoop的安全模式

hadoop dfsadmin -safemode leave

        并重启Hadoop、ZooKeeper、HBase集群。
        附Hadoop安全模式其他常用命令:

#进入安全模式
hadoop dfsadmin -safemode enter
#查看当前模式
hadoop dfsadmin -safemode get

表结构操作

        HBase Shell 语法中,所有字符串参数都必须包含在单引号中,且区分大小写。
建表
创建 Student 表,表中有两个列族: Stulnfo 和 Grades

create 'Student','StuInfo','Grades'

在这里插入图片描述

list命令查看所有的表:
在这里插入图片描述

exists ‘表名’ 查看是否有该表
在这里插入图片描述

describe ‘表名’,可以查看表中所有列族
在这里插入图片描述

修改表
给Student表新增一个hobby的列族

alter 'Student','hobby'

删除hobby列族
alter ‘Student’,‘delete’=>‘hobby’

删除表
想要删除表,必须要先禁用表,然后才能删除

disable 'Student'
drop 'Student'

数据操作

以下表为例
在这里插入图片描述

新增数据
注意一次新增是对一个单元格进行新增

put 'Student', '0001', 'StuInfo:Name', 'Tom Green', 1

第一个参数Student为表名;
第二个参数0001为行键的名称,为字符串类型;
第三个参数StuInfo:Name为列族和列的名称,中间用冒号隔开。列族名必须是已经创建的,否则 HBase 会报错;列名是临时定义的,因此列族里的列是可以随意扩展的;
第四个参数Tom Green为单元格的值。在 HBase 里,所有数据都是字符串的形式;
最后一个参数1为时间戳,如果不设置时间戳,则系统会自动插入当前时间为时间戳。

想要添加数据如图标中,需要再继续执行以下语句

put 'Student', '0001', 'StuInfo:Name', 'Tom Green', 1
put 'Student', '0001', 'StuInfo:Age', '18'
put 'Student', '0001', 'StuInfo:Sex', 'Male'
put 'Student', '0001', 'StuInfo:BigData', '80'
put 'Student', '0001', 'Grades:Computer', '90'
put 'Student', '0001', 'Grades:Math', '85'

修改数据
如果 put 语句中的单元格是已经存在的,即行键、列族及列名都已经存在,且不考虑时间戳的情况下,执行 put 语句,则可对数据进行更新操作。

put 'Student', '0001', 'StuInfo:Name', 'Jim Green'

如果设置了时间戳为n,则可以保存n个数据。

删除数据
分为删除单元格数据和行数据
删除单元格数据:

删除 Student 表中行键为 0001,Grades 列族成员为 Math,时间戳小于等于 2 的数据:`

delete 'Student', '0001', 'Grades:Math', 2`

删除0002行数据:

delete 'Student', '0002', 'Grades'

查询数据
根据rowid查询行数据

get 'student', '0001'

查询全表数据:

scan 'Student'

おすすめ

転載: blog.csdn.net/GodBlessYouAndMe/article/details/121845259
おすすめ