鲲鹏Bigdata pro之HBase常用操作

介绍

在鲲鹏云平台的的Hbase基本操作与其他Hadoop平台上的Hbase shell操作是基本一样的。唯一的区别是,在鲲鹏云平台上,底层数据是存储在OBS上面。为什么是这样呢?因为在配置文件/home/modules/hbase-2.1.0/conf/hbase-site.xml中做了这样的配置:

<property>
	<name>hbase.rootdir</name>
	<value>obs://bucket_name/hbasetest001</value>
</property>

上面bucket_name一定要替换成自己的OBS桶名字。

为了方便同学们实验Hbase shell的基本操作,本博文将所有的Hbase shell上面的命令输入及结果输出给出如下。

Hbase shell 基础操作

本基本操作,相比市面上许多的大数据书籍上讲解的Hbase shell基本操作,要详细和丰富。笔者在操作的过程,时不时地与MySQL的基本操作相对比,有一种想立刻操作MySQL的冲动。这也许就是学习带来的连锁反应吧。

废话少说,祝大家享受学习的乐趣。如下:

[root@cgznode-0001 ~]# jps
21424 HRegionServer
21185 HQuorumPeer
19202 SecondaryNameNode
29506 Jps
21269 HMaster
1175 WrapperSimpleApp
18984 NameNode
19385 ResourceManager
[root@cgznode-0001 ~]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/modules/hadoop-2.8.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/modules/hbase-2.1.0/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2023-01-06 11:26:29,589 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
Version 2.1.0, re1673bb0bbfea21d6e5dba73e013b09b8b49b89b, Tue Jul 10 17:26:48 CST 2018
Took 0.0031 seconds
hbase(main):001:0> create 'cgz_info', 'info'
Created table cgz_info
Took 2.7156 seconds
=> Hbase::Table - cgz_info
hbase(main):002:0> list
TABLE
cgz_info
1 row(s)
Took 0.0297 seconds
=> ["cgz_info"]
hbase(main):003:0> create_namespace 'nn'
Took 0.4434 seconds
hbase(main):004:0> create 'nn:student', 'info'
Created table nn:student
Took 2.2235 seconds
=> Hbase::Table - nn:student
hbase(main):005:0> list_namespace_tables 'nn'
TABLE
student
1 row(s)
Took 0.0581 seconds
=> ["student"]
hbase(main):006:0> describe 'cgz_info'
Table cgz_info is ENABLED
cgz_info
COLUMN FAMILIES DESCRIPTION
{NAME => 'info', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FAL
SE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE =>
 '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_B
LOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
1 row(s)
Took 0.1171 seconds
hbase(main):007:0> put 'cgz_info','123001','info:name','Kobe'
2023-01-06 11:38:11,605 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] services.ObsClient: Storage|1|HTTP+XML|ObsClient||||2023-01-06 11:38:11|2023-01-06 11:38:11|||0|
2023-01-06 11:38:11,607 WARN  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] services.ObsClient: [OBS SDK Version=3.19.12];[Endpoint=http://obs.cn-north-4.myhuaweicloud.com:80/];[Access Mode=Virtul Hosting]
2023-01-06 11:38:11,723 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] internal.RestStorageService: OkHttp cost 102 ms to apply http request
2023-01-06 11:38:11,730 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] internal.RestStorageService: Storage|1|HTTP+XML|performRequest||||2023-01-06 11:38:11|2023-01-06 11:38:11||[responseCode: 200][request-id: 000001858528574247D0E03F3B5E2EFC]|0|
2023-01-06 11:38:11,830 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] internal.RestStorageService: OkHttp cost 88 ms to apply http request
2023-01-06 11:38:11,830 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] internal.RestStorageService: Storage|1|HTTP+XML|performRequest||||2023-01-06 11:38:11|2023-01-06 11:38:11||[responseCode: 200][request-id: 00000185852857D6D2471CCC495E35D2]|0|
2023-01-06 11:38:11,831 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] services.ObsClient: Storage|1|HTTP+XML|headBucket||||2023-01-06 11:38:11|2023-01-06 11:38:11|||0|
2023-01-06 11:38:11,831 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] services.ObsClient: ObsClient [headBucket] cost 223 ms
2023-01-06 11:38:11,831 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] log.AccessLogger:  Hosting]
2023-01-06 11:38:11 723|com.obs.services.internal.RestStorageService|performRequest|592|OkHttp cost 102 ms to apply http request
2023-01-06 11:38:11 731|com.obs.services.internal.RestStorageService|performRequest|735|Storage|1|HTTP+XML|performRequest||||2023-01-06 11:38:11|2023-01-06 11:38:11||[responseCode: 200][request-id: 000001858528574247D0E03F3B5E2EFC]|0|
2023-01-06 11:38:11 830|com.obs.services.internal.RestStorageService|performRequest|592|OkHttp cost 88 ms to apply http request
2023-01-06 11:38:11 830|com.obs.services.internal.RestStorageService|performRequest|735|Storage|1|HTTP+XML|performRequest||||2023-01-06 11:38:11|2023-01-06 11:38:11||[responseCode: 200][request-id: 00000185852857D6D2471CCC495E35D2]|0|
2023-01-06 11:38:11 831|com.obs.services.ObsClient|doActionWithResult|2824|Storage|1|HTTP+XML|headBucket||||2023-01-06 11:38:11|2023-01-06 11:38:11|||0|
2023-01-06 11:38:11 831|com.obs.services.ObsClient|doActionWithResult|2827|ObsClient [headBucket] cost 223 ms

2023-01-06 11:38:11,847 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] internal.RestStorageService: OkHttp cost 14 ms to apply http request
2023-01-06 11:38:11,847 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] internal.RestStorageService: Storage|1|HTTP+XML|performRequest||||2023-01-06 11:38:11|2023-01-06 11:38:11||[responseCode: 200][request-id: 00000185852857FFD24725E305B854EB]|0|
2023-01-06 11:38:11,851 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] services.ObsClient: Storage|1|HTTP+XML|getBucketFSStatus||||2023-01-06 11:38:11|2023-01-06 11:38:11|||0|
2023-01-06 11:38:11,851 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] services.ObsClient: ObsClient [getBucketFSStatus] cost 19 ms
2023-01-06 11:38:11,851 INFO  [hconnection-0x4449a60b-metaLookup-shared--pool5-t1] log.AccessLogger: 2023-01-06 11:38:11 847|com.obs.services.internal.RestStorageService|performRequest|592|OkHttp cost 14 ms to apply http request
2023-01-06 11:38:11 847|com.obs.services.internal.RestStorageService|performRequest|735|Storage|1|HTTP+XML|performRequest||||2023-01-06 11:38:11|2023-01-06 11:38:11||[responseCode: 200][request-id: 00000185852857FFD24725E305B854EB]|0|
2023-01-06 11:38:11 851|com.obs.services.ObsClient|doActionWithResult|2824|Storage|1|HTTP+XML|getBucketFSStatus||||2023-01-06 11:38:11|2023-01-06 11:38:11|||0|
2023-01-06 11:38:11 851|com.obs.services.ObsClient|doActionWithResult|2827|ObsClient [getBucketFSStatus] cost 19 ms

2023-01-06 11:38:12,067 INFO  [Finalizer] obs.OBSFileSystem: This Filesystem GC-ful, clear resource.
Took 0.9367 seconds
hbase(main):008:0> put 'cgz_info','123001','info:gender','male'
Took 0.0055 seconds
hbase(main):009:0> put 'cgz_info','123001','info:age','40'
Took 0.0077 seconds
hbase(main):010:0> put 'cgz_info','123001','info:address','Los Angeles'
Took 0.0062 seconds
hbase(main):011:0> get 'cgz_info','123001'
COLUMN                           CELL
 info:address                    timestamp=1672976400893, value=Los Angeles
 info:age                        timestamp=1672976376167, value=40
 info:gender                     timestamp=1672976349439, value=male
 info:name                       timestamp=1672976292105, value=Kobe
1 row(s)
Took 0.0316 seconds
hbase(main):012:0> get 'cgz_info','123001','info:name'
COLUMN                           CELL
 info:name                       timestamp=1672976292105, value=Kobe
1 row(s)
Took 0.0115 seconds
hbase(main):013:0> put 'cgz_info','123002','info:name','Victoria'
Took 0.0119 seconds
hbase(main):014:0> put 'cgz_info','123002','info:gender','female'
Took 0.0061 seconds
hbase(main):015:0> put 'cgz_info','123002','info:age','40'
Took 0.0057 seconds
hbase(main):016:0> put 'cgz_info','123002','info:address','London'
Took 0.0051 seconds
hbase(main):017:0> put 'cgz_info','123003','info:name','Taylor'
Took 0.0053 seconds
hbase(main):018:0> put 'cgz_info','123003','info:gender','female'
Took 0.0052 seconds
hbase(main):019:0> put 'cgz_info','123003','info:age','30'
Took 0.0050 seconds
hbase(main):020:0> put 'cgz_info','123003','info:address','Redding'
Took 0.0064 seconds
hbase(main):021:0> put 'cgz_info','123004','info:name','LeBron'
Took 0.0052 seconds
hbase(main):022:0> put 'cgz_info','123004','info:gender','male'
Took 0.0052 seconds
hbase(main):023:0> put 'cgz_info','123004','info:age','33'
Took 0.0052 seconds
hbase(main):024:0> put 'cgz_info','123004','info:address','Cleveland'
Took 0.0060 seconds
hbase(main):025:0> scan 'cgz_info',{COLUMNS=>'info'}
ROW                              COLUMN+CELL
 123001                          column=info:address, timestamp=1672976400893, value=Los Angeles
 123001                          column=info:age, timestamp=1672976376167, value=40
 123001                          column=info:gender, timestamp=1672976349439, value=male
 123001                          column=info:name, timestamp=1672976292105, value=Kobe
 123002                          column=info:address, timestamp=1672976620489, value=London
 123002                          column=info:age, timestamp=1672976599599, value=40
 123002                          column=info:gender, timestamp=1672976583954, value=female
 123002                          column=info:name, timestamp=1672976561284, value=Victoria
 123003                          column=info:address, timestamp=1672976705271, value=Redding
 123003                          column=info:age, timestamp=1672976690575, value=30
 123003                          column=info:gender, timestamp=1672976676197, value=female
 123003                          column=info:name, timestamp=1672976656164, value=Taylor
 123004                          column=info:address, timestamp=1672976806880, value=Cleveland
 123004                          column=info:age, timestamp=1672976789394, value=33
 123004                          column=info:gender, timestamp=1672976776474, value=male
 123004                          column=info:name, timestamp=1672976759627, value=LeBron
4 row(s)
Took 0.0310 seconds
hbase(main):026:0> scan 'cgz_info',{COLUMNS=>'info:name'}
ROW                              COLUMN+CELL
 123001                          column=info:name, timestamp=1672976292105, value=Kobe
 123002                          column=info:name, timestamp=1672976561284, value=Victoria
 123003                          column=info:name, timestamp=1672976656164, value=Taylor
 123004                          column=info:name, timestamp=1672976759627, value=LeBron
4 row(s)
Took 0.0108 seconds
hbase(main):027:0> scan 'cgz_info',{STARTROW=>'123002','LIMIT'=>2}
ROW                              COLUMN+CELL
 123002                          column=info:address, timestamp=1672976620489, value=London
 123002                          column=info:age, timestamp=1672976599599, value=40
 123002                          column=info:gender, timestamp=1672976583954, value=female
 123002                          column=info:name, timestamp=1672976561284, value=Victoria
 123003                          column=info:address, timestamp=1672976705271, value=Redding
 123003                          column=info:age, timestamp=1672976690575, value=30
 123003                          column=info:gender, timestamp=1672976676197, value=female
 123003                          column=info:name, timestamp=1672976656164, value=Taylor
2 row(s)
Took 0.0113 seconds
hbase(main):028:0> scan 'cgz_info',{STARTROW=>'123001','LIMIT'=>2,COLUMNS=>'info:name'}
ROW                              COLUMN+CELL
 123001                          column=info:name, timestamp=1672976292105, value=Kobe
 123002                          column=info:name, timestamp=1672976561284, value=Victoria
2 row(s)
Took 0.0067 seconds
hbase(main):029:0> count 'cgz_info
hbase(main):030:0' '

ERROR: Illegal character code:10, <
> at 8. User-space table qualifiers may only contain 'alphanumeric characters' and digits: cgz_info

For usage try 'help "count"'

Took 0.0096 seconds
hbase(main):031:0> count 'cgz_info'
4 row(s)
Took 0.0331 seconds
=> 4
hbase(main):032:0> get 'cgz_info','123001','info:age'
COLUMN                           CELL
 info:age                        timestamp=1672976376167, value=40
1 row(s)
Took 0.0091 seconds
hbase(main):033:0> put 'cgz_info','123001','info:age','18'
Took 0.0048 seconds
hbase(main):034:0> get 'cgz_info','123001','info:age'
COLUMN                           CELL
 info:age                        timestamp=1672977200948, value=18
1 row(s)
Took 0.0095 seconds
hbase(main):035:0> get 'cgz_info','123001'
COLUMN                           CELL
 info:address                    timestamp=1672976400893, value=Los Angeles
 info:age                        timestamp=1672977200948, value=18
 info:gender                     timestamp=1672976349439, value=male
 info:name                       timestamp=1672976292105, value=Kobe
1 row(s)
Took 0.0085 seconds
hbase(main):036:0> delete 'cgz_info','123001','info:address'
Took 0.0173 seconds
hbase(main):037:0> get 'cgz_info','123001'
COLUMN                           CELL
 info:age                        timestamp=1672977200948, value=18
 info:gender                     timestamp=1672976349439, value=male
 info:name                       timestamp=1672976292105, value=Kobe
1 row(s)
Took 0.0299 seconds
hbase(main):038:0> deleteall 'cgz_info','123001'
Took 0.0058 seconds
hbase(main):039:0> get 'cgz_info','123001'
COLUMN                           CELL
0 row(s)
Took 0.0071 seconds
hbase(main):040:0>
hbase(main):041:0* create 'cgz_info1', 'info'

Created table cgz_info1
Took 2.2478 seconds
=> Hbase::Table - cgz_info1
hbase(main):042:0>
hbase(main):043:0* disable 'cgz_info1'
Took 0.7635 seconds
hbase(main):044:0> drop 'cgz_info1'
Took 1.2501 seconds
hbase(main):045:0> list
TABLE
cgz_info
nn:student
2 row(s)
Took 0.0143 seconds
=> ["cgz_info", "nn:student"]
hbase(main):046:0> scan 'cgz_info',{FILTER=>"ValueFilter(=,'binary:40')"}
ROW                              COLUMN+CELL
 123002                          column=info:age, timestamp=1672976599599, value=40
1 row(s)
Took 0.0312 seconds
hbase(main):047:0> scan 'cgz_info',{FILTER=>"ValueFilter(=,'binary:LeBron')"}
ROW                              COLUMN+CELL
 123004                          column=info:name, timestamp=1672976759627, value=LeBron
1 row(s)
Took 0.0052 seconds
hbase(main):048:0> scan 'cgz_info',FILTER=>"ColumnPrefixFilter('gender')"
ROW                              COLUMN+CELL
 123002                          column=info:gender, timestamp=1672976583954, value=female
 123003                          column=info:gender, timestamp=1672976676197, value=female
 123004                          column=info:gender, timestamp=1672976776474, value=male
3 row(s)
Took 0.0115 seconds
hbase(main):049:0> scan 'cgz_info',{FILTER=>"ColumnPrefixFilter('address') AND ValueFilter(=,'binary:London')"}
ROW                              COLUMN+CELL
 123002                          column=info:address, timestamp=1672976620489, value=London
1 row(s)
Took 0.0197 seconds
hbase(main):050:0> alter 'cgz_info',{NAME=>'info',VERSIONS=>3}
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 3.1193 seconds
hbase(main):051:0> put 'cgz_info','123005','info:name','Zhangsan'
Took 0.0084 seconds
hbase(main):052:0> put 'cgz_info','123005','info:name','Lisi'
Took 0.0045 seconds
hbase(main):053:0> put 'cgz_info','123005','info:name','Wangwu'
Took 0.0047 seconds
hbase(main):054:0> get 'cgz_info','123005',{COLUMN=>'info:name',VERSIONS=>3}
COLUMN                           CELL
 info:name                       timestamp=1672978086764, value=Wangwu
 info:name                       timestamp=1672978075767, value=Lisi
 info:name                       timestamp=1672978064790, value=Zhangsan
1 row(s)
Took 0.0115 seconds
hbase(main):055:0> create 'cgz_info2','info',{NUMREGIONS=>4,SPLITALGO=>'UniformSplit'}
Created table cgz_info2
Took 2.2280 seconds
=> Hbase::Table - cgz_info2
hbase(main):056:0> create 'cgz_info3','info',SPLITS=>['10000','20000','30000']
Created table cgz_info3
Took 2.2234 seconds
=> Hbase::Table - cgz_info3
hbase(main):057:0>

表’cgz_info’中的三个StartKey分别为10000,20000,30000的截图为:
建表时指定StartKey的效果

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值