Hbase shell的基本操作完整流程

老男孩Linux运维
老男孩Linux运维培训平台: www.oldboyedu.com
HBase的命令行工具,最简单的接口,适合HBase管理使用,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,启动hadoop集群(利用hdfs存储),启动zookeeper,使用start-hbase.sh命令开启hbase服务,最后在shell中执行hbase shell就可以进入命令行界面。
habse shell的help对语法的介绍很全,hbase shell的操作分为10类,本文由千锋大数据培训整理分享,只介绍前4类常用的,分别是:gerneral,ddl,namespace,dml。
1. Gerneral
status:查询当前服务器状态
Version:查看当前版本
Whoami:查询当前hbase用户
Table_help:表的引用,通过获取一张表的引用来对这张表进行添加删除数据等等操作,现在不推荐使用。
2. DDL
Create:创建一个表

创建一个表名为oldboy,lnh为列族

create ‘oldboy',‘lnh'
list:列出HBase的所有表
disable:禁用一张表

禁用表‘oldboy’

disable ‘oldboy’
is_disabled:表是否被禁用

验证表‘oldboy’是否被禁用

is_disabled ‘oldboy’
enable: 启用一张表

启用表‘oldboy’

enable ‘oldboy’
is_enabled:表是否被启用

验证表‘oldboy’是否被启用

is_enabled ‘oldboy’
describe:查看表的描述

查看‘oldboy’表的描述信息

describe ‘oldboy’
alter:修改表的结构

给表‘oldboy’加入一个列族‘lnh1’

alter ‘oldboy’,‘lnh1’
exists:验证表是否存在

验证表‘oldboy’是否存在

exists ‘oldboy’
drop:删除表,表需先禁用,然后才能删除

删除表‘oldboy’

disable ‘oldboy’
drop ‘oldboy’
disable_all:禁用多个表
drop_all:删除多个表,表需先禁用,然后才能删除
3. Namespace
create_namespace:创建命名空间,相当于关系型数据库里创建一个数据库

创建一个命名空间名为‘ln’,并添加属性

create_namespace ‘ln’, {‘PROPERTY_NAME'=>‘PROPERTY_VALUE'}
alter_namespace:修改,添加,删除命名空间的属性

设置命名空间ln的属性

alter_namespace ‘ln', {METHOD => ‘set', ‘PROPERTY_NAME' => ‘PROPERTY_VALUE'}

删除命名空间ln的属性

alter_namespace ‘ln', {METHOD => ‘unset', NAME=>‘PROPERTY_NAME'}
describe_namespace:获取命名空间的描述

获取命名空间‘ln’的描述信息

describe_namespace ‘ln’
drop_namespace:删除命名空间

删除命名空间‘ln’

drop_namespace ‘ln’
list_namespace:查看所有命名空间
list_namespace_tables:查看命名空间下的所有表

查看命名空间‘ns1’下的所有表

list_namespace_tables‘ns1’
4. DML
先在命名空间‘oldboy’(如果没有这个命名空间要先创建此命名空间)下创建一张表test,列族为‘lnh’作为测试用
create ‘oldboy:test’,‘lnh’
put:添加cell(数据)

#向命名空间oldboy下表test的rowkey为r1的列族下添加数据

put ‘oldboy:test',‘r1',‘lnh:uname',‘zhangsan'
scan:扫描全表
scan ‘oldboy:test’
get:得到某一列或cell的数据。

向命名空间oldboy下表test的rowkey为r1的列族下添加数据

put ‘oldboy:test',‘r1',‘lnh:age',‘23'

获取列族lnh下rowkey为r1的所有数据

get ‘oldboy:test’,‘r1’

获取列族lnh下rowkey为r1,列名为uname的数据(获取一个cell)

get ‘oldboy:test',‘r1',‘lnh:uname'
truncate:清空表,不用disable (只是清空数据)

清空表‘oldboy:test’

truncate ‘oldboy:test’
查看‘oldboy’下所有的表

感谢您为本话题评分。
共有0个回答
    目前还没有评论,要不您来说几句?
以下是预览效果,请确认排版好了再点回复。
如果你认为此话题有广告、灌水的嫌疑,请给此话题评一颗星。平均分低的话题将不会再显示。
良好的讨论氛围由大家共同维护。