主页 > 新闻资讯 > 大数据学习:Hbase Shell常用命令

大数据学习:Hbase Shell常用命令

作者:张老师 浏览次数: 2021-04-08 17:34
涉及到Hbase的数据管理操作,Shell命令是基本的一种方式。Hbase在Hadoop生态体系当中,以Key-Value类型进行存储,主要是存储半结构化数据,因此数据结构类型也比较特殊。今天的大数据学习分享,我们就主要来讲讲Hbase Shell常用命令。

大数据学习:Hbase Shell常用命令

一、进入hbase shell console

$HBASE_HOME/bin/hbase shell

如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之后再使用hbase shell进入可以使用whoami命令可查看当前用户

hbase(main)>whoami

二、表的管理

1)查看有哪些表

hbase(main)>list

2)创建表

#语法:create<table>,{NAME=><family>,VERSIONS=><VERSIONS>}

#例如:创建表t1,有两个family name:f1,f2,且版本数均为2

hbase(main)>create't1',{NAME=>'f1',VERSIONS=>2},{NAME=>'f2',VERSIONS=>2}

3)删除表

分两步:首先disable,然后drop

hbase(main)>disable't1'

hbase(main)>drop't1'

4)查看表的结构

#语法:describe<table>

#例如:查看表t1的结构

hbase(main)>describe't1'

5)修改表结构

#修改表结构必须先disable

#语法:alter't1',{NAME=>'f1'},{NAME=>'f2',METHOD=>'delete'}

#例如:修改表test1的cf的TTL为180天

hbase(main)>disable'test1'

hbase(main)>alter'test1',{NAME=>'body',TTL=>'15552000'},{NAME=>'meta',TTL=>'15552000'}

hbase(main)>enable'test1'

三、权限管理

1)分配权限

#语法:grant<user><permissions><table><column family><column qualifier>参数后面用逗号分隔

#权限用五个字母表示:"RWXCA"

#READ('R'),WRITE('W'),EXEC('X'),CREATE('C'),ADMIN('A')

#例如,给用户‘test'分配对表t1有读写的权限,

hbase(main)>grant'test','RW','t1'

2)查看权限

#语法:user_permission<table>

#例如,查看表t1的权限列表

hbase(main)>user_permission't1'

3)收回权限

#与分配权限类似,语法:revoke<user><table><column family><column qualifier>

#例如,收回test用户在表t1上的权限

hbase(main)>revoke'test','t1'

四、表数据的增删改查

1)添加数据

#语法:put<table>,<rowkey>,<family:column>,<value>,<timestamp>

#例如:给表t1的添加一行记录:rowkey是rowkey001,family name:f1,

column name:col1,value:value01,timestamp:系统默认,用法比较单一。

hbase(main)>put't1','rowkey001','f1:col1','value01'

2)查询数据

a)查询某行记录

#语法:get<table>,<rowkey>,[<family:column>,....]

#例如:查询表t1,rowkey001中的f1下的col1的值

hbase(main)>get't1','rowkey001','f1:col1'

#或者:

hbase(main)>get't1','rowkey001',{COLUMN=>'f1:col1'}

#查询表t1,rowke002中的f1下的所有列值

hbase(main)>get't1','rowkey001'

b)扫描表

#语法:scan<table>,{COLUMNS=>[<family:column>,....],LIMIT=>num}

#另外,还可以添加STARTROW、TIMERANGE和FITLER等高级功能

#例如:扫描表t1的前5条数据

hbase(main)>scan't1',{LIMIT=>5}

c)查询表中的数据行数

#语法:count<table>,{INTERVAL=>intervalNum,CACHE=>cacheNum}

#INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度

#例如,查询表t1中的行数,每100条显示一次,缓存区为500

hbase(main)>count't1',{INTERVAL=>100,CACHE=>500}

3)删除数据

a)删除行中的某个列值

#语法:delete<table>,<rowkey>,<family:column>,<timestamp>,必须指定列名

#例如:删除表t1,rowkey001中的f1:col1的数据

hbase(main)>delete't1','rowkey001','f1:col1'

b)删除行

#语法:deleteall<table>,<rowkey>,<family:column>,<timestamp>,可以不指定列名,删除整行数据

#例如:删除表t1,rowk001的数据

hbase(main)>deleteall't1','rowkey001'

c)删除表中的所有数据

#语法:truncate<table>

#其具体过程是:disable table->drop table->create table

#例如:删除表t1的所有数据

hbase(main)>truncate't1'

五、Region管理

1)移动region

#语法:move'encodeRegionName','ServerName'

#encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表

hbase(main)>move'4343995a58be8e5bbc739af1e91cd72d','db-41.xxx.xxx.org,60020,1390274516739'

2)开启/关闭region

#语法:balance_switch true|false

hbase(main)>balance_switch

3)手动split

#语法:split'regionName','splitKey'

4)手动触发major compaction

#语法:Compact all regions in a table:

#hbase>major_compact't1'

#Compact an entire region:

#hbase>major_compact'r1'

#Compact a single column family within a region:

#hbase>major_compact'r1','c1'

#Compact a single column family within a table:

#hbase>major_compact't1','c1'

六、配置管理及节点重启

1)修改hdfs配置

#hdfs配置位置:/etc/hadoop/conf

#同步hdfs配置

cat/home/hadoop/slaves|xargs

-i-t scp/etc/hadoop/conf/hdfs-site.xml hadoop@{}:/etc/hadoop/conf/hdfs-site.xml

#关闭:

cat/home/hadoop/slaves|xargs

-i-t ssh hadoop@{}"sudo/home/hadoop/cdh4/hadoop-2.0.0-cdh4.2.1/sbin/hadoop-daemon.sh--config/etc/hadoop/conf stop datanode"

#启动:

cat/home/hadoop/slaves|xargs-i-t ssh hadoop@{}"sudo/home/hadoop/cdh4/hadoop-2.0.0-cdh4.2.1/sbin/hadoop-daemon.sh--config/etc/hadoop/conf start datanode"

2)修改hbase配置

#同步hbase配置

cat/home/hadoop/hbase/conf/regionservers|xargs

-i-t scp/home/hadoop/hbase/conf/hbase-site.xml hadoop@{}:/home/hadoop/hbase/conf/hbase-site.xml

#graceful重启

cd~/hbase

bin/graceful_stop.sh--restart--reload--debug inspurXXX.xxx.xxx.org

关于大数据学习,Hbase Shell常用命令,以上就为大家做了基本的介绍了。Hbase的常用命令其实基本上也就是这些,但是在版本更迭上,可能会有一些小的调整,基本变化不会太大。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及学习资料可联系客服获取!
热点排行
推荐文章
立即申请>>