《Hadoop生态系统及开发 实训手册 实训7 HBase命令行之Shell操作.docx》由会员分享,可在线阅读,更多相关《Hadoop生态系统及开发 实训手册 实训7 HBase命令行之Shell操作.docx(7页珍藏版)》请在第一文库网上搜索。
1、实训4.2 HBase命令行之Shell操作L实训目的(1)理解HBaSe的系统架构(2)熟悉SheIl的基本操作2 .实训内容通过本实训,了解HBaSe的系统架构,使更加熟悉HBaSe命令行操作表, 学会 Column Family Table Schema 与 RowKey 的设计等等。3 .实训要求以小组为单元进行实训,每小组5人,小组自协商选一位组长,由组长安排 和分配实训任务,具体参考实训操作环节。需要确保HBaSe环境安装正确。 4.准备知识(I)DDL操作语法,如表4-6所示。表4-6 DDL操作语法操作命令表达式注意创建表creat , table_name, familyl
2、,family2, familyN,添加记录put , table, name, rowkey, familycolumn, value,查看记录get ,table_name, rowkey,查询单条记录,也是hbase最 常用的查看表中的 记录总数count ,table-name,这个命令并不快,且目前没有 找到更快的方式统计行数删除记录delete table-name, rowkey ,family-namercolumn, deleteall table-name, row key,第一种方式删除一条记录单列 的数据第二种方式删除整条记录删除一张表1、disable , table
3、-name,2、drop table-name,查看所有记 录scan 10)LIMIT=10只返回10条记录, 否则将全部展示列出所有表,结果如图4-29所示。listhbase(nain):001:0 list TABLE0 row(s) in 0.2090 seconds- hbase(main):002:0 口图4-29 IiSt命令的查看结果创建表# 语法:create , NAME = , VERSIONS = #例如:创建表U,有两个family name: fl, f2,且版本数均为2,如图 4-30所示。create ,t ,NAME=f,VERSIONS =21,NAME=
4、f2,VERSIONS=2)hbase(mai)z2r create tl ,NAME-,fl,VERSIONS -2,NAME-,f2,VERSIONS-2) POW(S) in 2.329 seconds Hbase: Table - tlhbase(main):0O3:0 图4-30创建tl表创建表user,列族为info创建绡果如图4-31所示。create userinfo= Hbase:Table - tl hbase(main):003:0 create user,info 0 row(s) in 2.2660 seconds Hbase: Table - user hbase(
5、main):004:。 口图4-31创建user表删除表。分两步:首先disable,然后drop例如:删除表操作绡果如图4-32所丕。HBase (main) disable,tHBase (main) drop lhbase(main):004: disable tl 0 row(s) in 2.2760 secondshbase(nain):005:0 drop tl0 row(s) in 1.2890 secondsht)ase(eai,n) :006:0 口图4-32删除tl表查看表的结构# 语法:describe # 例如:查看表H的维勾HBase (main) describe
6、,t注意:由于上一步删除了君 此处先创建一个H,然后再查看,如图4-33 所示。hbase(nain):012:0 create -tl ,NAME-fl,VERSIONS -2,NAME-,f2,VERSI0NS-2 0 row(s) in 1.2630 seconds = Hbase: Table - tl hbase(nain):013:0 describe ,tl Table tl is ENABLED tl COLUMN FAMILIES DESCRIPTIONNAME - ,fl, BLOOMFILTER - ROW, VERSIONS - 2, IN_MEMORY - false
7、*, KEEP_DELETED_CELLS - I _BLOCK_ENCWING = NONE, TTL = FOREVER, COMPRESSION = ,NONE,j MIN_VERSIONS = ,0,j BLOCKCACHE BLOCKSIZE - 65536, REPLICATION_SCOPE - ,0NAME = f2, BLOOMFILTER = ROW,j VERSIONS = ,2,j IN_MEMORY = false, KEEP_DELETED_CELLS = l -BLOCK-ENCING - ,NONE, TTL - ,FOREVER*, COMPRESSION -
8、 tNONE, MIN_VERSIONS ,0, BLOCKCACHE BLOCKSIZE 65536, REPLICATION,SCOPE - ,) 2 row(s) in 0.0350 seconds图4-33查看tl表结构修改表结构修改表结构前必须先禁用表# 语法:alter t, NAME = fl, NAME = ,f2, METHOD = ,delete,# 例如:修改表test)的Cf的TTL为180天,操作结果如图4-34所示。HBase (main) disable tHBase (main) altert, NAME=,bodyTTL=, 15552000), N AME=
9、meta,TTL= 15552000,hbase(main):01S:0* disable ,tl, 0 row(s) in 2.253G secondshbase(main):016:O alter ttl ,NAMEtbodyjTTL155520,jNAME=meta,TTL,15552000, Updating all regions with the new schema.1/1 regions updated.Done.Updating all regions with the new schema.1/1 regions updated.Done, row(s) in 4.8520
10、 seconds图4-34修改H表结构修改处表巨筋要用用表,操傕绡果如图4-35所示。HBase (main) enable,t 1,hbase(nain):002:d is-disabled ,tl true0 row(s) in 0.0890 secondshbase(taain) :003: enable ,tl,0 row(s) in 1.320 secondshbase(nain):004:0 is-disabled tl false0 row(s) in 0.0210 secondshbase(nain):005:0 口图4-35启用tl表添加数据(用法比较单一)# 语法:put
11、,# 例如:给USer表的添加一行记录:rowKey是001, family是name,valuse Iishio操作缗如图4-36所应HBase (main) put user,OOinfoname,lishihbase(main):006: put userj001jinfozname,lishi0 row(s) in 0.089 secondshbasegin) :007:0 图4-36添加user表的数据查询表查询表中的所有数据# 语法:scan , COLUMNS = ,. , LIMIT = num)# 另外,还可以添加JSTARTROW、TlMERANGE和FrrLER等高级功能
12、# 例如:扫描表USer的前2条数据,查询结果如图4-37所示。HBase (main) scan user,LIMIT=2)hbase(main):007:0 scan user,LIMIT=2ROWCOLUMN+CELL001column=info: name, tiestamp=1566293484308j valueslishi1 row(s) in 0.0430 secondshbase(eain):008:0 口图4-37查询user表数据查询某条数据#例如:查询USer表的OOl行中的info下的所有列值,查询结果如图4-38 所示。HBase (main) gel,user,(
13、X) 1hbase(nain):008: get user,001COLUMNCELLinfo:nametimestamp1566293484308, valuelishi1 row(s) in 0.0250 secondshbase(ain):009:0 口图4-38查询user表001行信息查询表中的数据行数# 语法:count , INTERVAL = intervalNum, CACHE = cacheNum)# INTERVAL设置多少行显示一次及对应的RoWKey,默认IOo0; CACHE 每次去取的缓存区大小,默认是10,调整该参数可提高查询速度# 例如,查询表USer中的行数
14、,每100条显示一次,缓存区为500,查询结 果如图4-39所示。HBase (main) count ,user, 1NTERVAL= 100,CACHE=500hbase(main):008: get user*,01,COLUMNCELLinfo:nametimestamp-1566293484308, value-lishi1 row(s) in 0.0250 secondshbase(main):009:0 count user,INTERVAL=100jCACHE5e1 row(s) in 0.0210 seconds 1ase(twain)口图4-39查询USer表的行数删除数据删除行中的某个列值# 语法:delete