HBASE基础:语法shell操作 DDL namespace/表的操作

Posted 秋华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBASE基础:语法shell操作 DDL namespace/表的操作相关的知识,希望对你有一定的参考价值。

1 基本操作

1.1 进入HBase客户端命令行

[atguigu@hadoop102 hbase]$ bin/hbase shell

1.2 查看帮助命令

hbase(main):001:0> help

2 namespace的操作

2.1 查看当前Hbase中有哪些namespace

 

hbase(main):002:0> list_namespace

NAMESPACE                                                                                                                                                                                             
default(创建表时未指定命名空间的话默认在default下)                                                                                                
hbase(系统使用的,用来存放系统相关的元数据信息等,勿随便操作)  

 

2.2 创建namespace

hbase(main):010:0>  create_namespace "test"

hbase(main):010:0> create_namespace "test01", {"author"=>"wyh", "create_time"=>"2020-03-10 08:08:08"}

2.3 查看namespace

hbase(main):010:0>  describe_namespace "test01"

2.4 修改namespace的信

hbase(main):010:0> alter_namespace "test01", {METHOD => \'set\', \'author\' => \'weiyunhui\'}

添加或者修改属性:

alter_namespace \'ns1\', {METHOD => \'set\', \'PROPERTY_NAME\' => \'PROPERTY_VALUE\'}

删除属性:          

alter_namespace \'ns1\', {METHOD => \'unset\', NAME => \' PROPERTY_NAME \'} 

2.5 删除namespace

hbase(main):010:0> drop_namespace "test01"

注意: 要删除的namespace必须是空的,其下没有表。

 

 

3 表的操作

 

 

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

 

hbase(main):002:0> list

 

3.1.创建表

 

hbase(main):002:0> create \'student\',\'info\'

 

3.2.插入数据到表

 

hbase(main):003:0> put \'student\',\'1001\',\'info:sex\',\'male\'

 

hbase(main):004:0> put \'student\',\'1001\',\'info:age\',\'18\'

 

hbase(main):005:0> put \'student\',\'1002\',\'info:name\',\'Janna\'

 

hbase(main):006:0> put \'student\',\'1002\',\'info:sex\',\'female\'

 

hbase(main):007:0> put \'student\',\'1002\',\'info:age\',\'20\'

 

3.3.扫描查看表数据

 

hbase(main):008:0> scan \'student\'

 

hbase(main):009:0> scan \'student\',{STARTROW => \'1001\', STOPROW  => \'1001\'}

 

hbase(main):010:0> scan \'student\',{STARTROW => \'1001\'}

 

3.4.查看表结构

 

hbase(main):011:0> describe \'student\'

 

3.5.更新指定字段的数据

 

hbase(main):012:0> put \'student\',\'1001\',\'info:name\',\'Nick\'

 

hbase(main):013:0> put \'student\',\'1001\',\'info:age\',\'100\'

 

3.6.查看“指定行”或“指定列族:列”的数据

 

hbase(main):014:0> get \'student\',\'1001\'

 

hbase(main):015:0> get \'student\',\'1001\',\'info:name\'

 

3.7.统计表数据行数

 

hbase(main):021:0> count \'student\'

 

3.8.删除数据

 

删除某rowkey的全部数据:

 

hbase(main):016:0> deleteall \'student\',\'1001\'

 

删除某rowkey的某一列数据:

 

hbase(main):017:0> delete \'student\',\'1002\',\'info:sex\'

 

3.9.清空表数据

 

hbase(main):018:0> truncate \'student\'

 

提示:清空表的操作顺序为先disable,然后再truncate

 

3.10.删除表

 

首先需要先让该表为disable状态:

hbase(main):019:0> disable \'student\'

然后才能drop这个表:

hbase(main):020:0> drop \'student\'

提示:如果直接drop表,会报错:ERROR: Table student is enabled. Disable it first.

3.11.变更表信息

info列族中的数据存放3个版本:

hbase(main):022:0> alter \'student\',{NAME=>\'info\',VERSIONS=>3}

hbase(main):022:0> get \'student\',\'1001\',{COLUMN=>\'info:name\',VERSIONS=>3}

 

本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/15225301.html

以上是关于HBASE基础:语法shell操作 DDL namespace/表的操作的主要内容,如果未能解决你的问题,请参考以下文章

HBase shell操作

HBASE基础使用Java API实现DDL与DML

Hbase总结

HBase的Shell操作

HBase基础之常用过滤器hbase shell操作(转)

Hbase Shell 数据操作说明