大数据学习之Hbase shell的基本操作
  XB0t0pHC2GN6 2023年11月02日 41 0

HBase的命令行工具,最简单的接口,适合HBase管理使用,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,启动hadoop集群(利用hdfs存储),启动zookeeper,使用start-hbase.sh命令开启hbase服务,最后在shell中执行hbase shell就可以进入命令行界面

Habse shell的help对语法的介绍很全,hbase shell 的操作分为 10类,j本文只介绍前4类常用的,分别是:gerneral,ddl,namespace,dml

1. Gerneral

status:查询当前服务器状态。

Version:查看当前版本

大数据学习之Hbase shell的基本操作 _shell脚本

Whoami:查询当前hbase用户

大数据学习之Hbase shell的基本操作 _命名空间_02

Table_help:表的引用,通过获取一张表的引用来对这张表进行添加删除数据等等操作,现在不推荐使用

2. DDL

Create:创建一个表

###创建一个表名为qianfeng,cf为列族

create 'qianfeng','cf'

大数据学习之Hbase shell的基本操作 _命名空间_03

list:列出HBase的所有表

大数据学习之Hbase shell的基本操作 _shell脚本_04

· disable:禁用一张表

· ##禁用表‘qianfeng’

· disable ‘qianfeng’

· is_disabled:表是否被禁用

· ##验证表‘qianfeng’是否被禁用

· is_disabled ‘qianfeng’

大数据学习之Hbase shell的基本操作 _数据_05

· enable: 启用一张表

· ##启用表‘qianfeng’

· enable ‘qianfeng’

· is_enabled:表是否被启用

· ##验证表‘qianfeng’是否被启用

· is_enabled ‘qianfeng’

大数据学习之Hbase shell的基本操作 _命名空间_06

· describe:查看表的描述

· ##查看‘qianfeng’表的描述信息

· describe ‘qianfeng’

大数据学习之Hbase shell的基本操作 _shell脚本_07

· alter:修改表的结构

· ##给表‘qianfeng’加入一个列族‘cf1’

· alter ‘qianfeng’,’cf1’

大数据学习之Hbase shell的基本操作 _shell脚本_08

· exists:验证表是否存在

· ##验证表‘qianfeng’是否存在

· exists ‘qianfeng’

大数据学习之Hbase shell的基本操作 _命名空间_09

· drop:删除表,表需先禁用,然后才能删除

· ##删除表‘qianfeng’

· disable ‘qianfeng’

· drop ‘qianfeng’

大数据学习之Hbase shell的基本操作 _数据_10

· disable_all:禁用多个表

drop_all:删除多个表,表需先禁用,然后才能删除

3. Namespace

create_namespace:创建命名空间,相当于关系型数据库里创建一个数据库

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

create_namespace ‘qf’, {'PROPERTY_NAME'=>'PROPERTY_VALUE'}

alter_namespace:修改,添加,删除命名空间的属性

##设置命名空间qf的属性

alter_namespace 'qf', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}

##删除命名空间qf的属性

alter_namespace 'qf', {METHOD => 'unset', NAME=>'PROPERTY_NAME'}

describe_namespace:获取命名空间的描述

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

describe_namespace ‘qf’

大数据学习之Hbase shell的基本操作 _命名空间_11

drop_namespace:删除命名空间

##删除命名空间‘qf’

drop_namespace ‘qf’

list_namespace:查看所有命名空间

大数据学习之Hbase shell的基本操作 _shell脚本_12

list_namespace_tables:查看命名空间下的所有表

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

list_namespace_tables ‘ns1’

大数据学习之Hbase shell的基本操作 _shell脚本_13

4. DML

先在命名空间‘qianfeng’(如果没有这个命名空间要先创建此命名空间)下创建一张表test,列族为‘cf’作为测试用

create ‘qianfeng:test’,’cf’

put:添加cell(数据)

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

put 'qianfeng:test','r1','cf:uname','zhangsan'

scan:扫描全表

scan ‘qianfeng:test’

大数据学习之Hbase shell的基本操作 _shell脚本_14

get:得到某一列或cell的数据。

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

put 'qianfeng:test','r1','cf:age','23'

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

get ‘qianfeng:test’,’r1’

大数据学习之Hbase shell的基本操作 _shell脚本_15

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

get 'qianfeng:test','r1','cf:uname'

大数据学习之Hbase shell的基本操作 _命名空间_16

truncate:清空表,不用disable (只是清空数据)

##清空表‘qianfeng:test’

truncate ‘qianfeng:test’

查看‘qianfeng’下所有的表

大数据学习之Hbase shell的基本操作 _shell脚本_17

以上为hbase shell脚本的基础操作,都应该熟练掌握。在掌握hbase shell脚本的基础上学习hbase 的java api,会显得事半功倍。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

XB0t0pHC2GN6
最新推荐 更多

2024-05-31