CGFT知識(shí)點(diǎn):HBase常用的Shell命令

CGFT知識(shí)點(diǎn):HBase常用的Shell命令。HBase為用戶提供了*方便的Shell命令,通過(guò)這些命令我們可以很方便地對(duì)表、列族、列等進(jìn)行操作。這里介紹一些常用的Shell命令以及具體的操作實(shí)例。

首先,我們需要啟動(dòng)HDFS和HBase進(jìn)程,然后,在終端輸入“hbase shell”命令進(jìn)入該Shell環(huán)境,輸入“help”,可以查看HBase支持的所有Shell命令(見(jiàn)表4-7)。

ACCA考試

接下來(lái),我們將詳細(xì)介紹常用的ddl和dml命令,對(duì)于其他命令,讀者可以在終端輸入"help'command""命令,來(lái)獲知該命令的作用及其具體語(yǔ)法。

1.create:創(chuàng)建表

①創(chuàng)建表t1,列族為n,列族版本號(hào)為5,命令如下。

hbase> ereate't1',{NAME=>'f1',VERSIONS=>5}

②創(chuàng)建表t1,3個(gè)列族分別為f1、f2、f3,命令如下。

hbase>create't1',(NAME=>'f1'},{NAME=>'f2'},{NAME=>'f3'}

或者使用如下等價(jià)的命令。

hbase>create't1','f1','f2','f3'

③創(chuàng)建表t1,將表依據(jù)分割算法HexStringSplit分布在15個(gè)Region里,命令如下。

hbase> create't1','f1', {NUMREGIONS =>15, SPLITALGO => 'HexStringSp1it'}

④創(chuàng)建表t1,指定切分點(diǎn),命令如下。

hbase>create't1','f1',{SPLITS => ['10','20','30','40'1]}

2.list:列出HBase中所有的表信息

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明

3.put:向表、行、列指定的單元格添加數(shù)據(jù)

向表日中行rowl,列f1:1,添加數(shù)據(jù)valuel,時(shí)間截為1421822284898,命令如下。

hbasey>put't1','rowl','f1:1','value1',1421822284898

cgft

4.get:通過(guò)指定表名、行、列、時(shí)間截、時(shí)間范圍和版本號(hào)來(lái)獲得相應(yīng)單元格的值

①獲得表t1,行rl,列c1,時(shí)間范圍為[tsl,ts2],版本號(hào)為4的數(shù)據(jù),命令如下。

hbase> get 't1','r1', {COLUMN => 'c1', TIMERANGE " [tsl, ts2], VERSIONS => 4)}

②獲得表日,行rl,列c1和c2上的數(shù)據(jù),命令如下。

hbase> get 't1','rl','c1','c2'

5.scan:瀏覽表的相關(guān)信息

可以通過(guò)TIMERANGE、FILTER、LIMIT、STARTROW、STOPROW、TIMESTAMP、MAXLENGTH、COLUMNS、CACHE來(lái)限定所需要瀏覽的數(shù)據(jù)。

①瀏覽表“,META.”,列info:regioninfo上的數(shù)據(jù),命令如下。

hbase>scan'.META.',{COLUMNS=>'info:regioninto'}

②瀏覽表日,列c1,時(shí)間范圍為[1303668804,1303668904]的數(shù)據(jù),命令如下。

hbase>scan't1',{COLUNNS=>'c1',TIMERANGE

=>[1303668804,1303668904]}

6.alter:修改列族模式

①向表tl添加列族f1,命令如下。

hbase>alter 't1', NAME =>'f1'

②刪除表t1中的列族介,命令如下。

hbase> alter 't1', NAME=>'f1', METHOD => 'delete'

③設(shè)定表t1中列族f1*為128MB,命令如下。

hbase> alter "t1', METHOD => "table_att', MAX_FILESIZE=-> '134217728'

上面命令中,“134217728”表示字節(jié)數(shù),128MB等于134217728字節(jié)。

7.count:統(tǒng)計(jì)表中的行數(shù)

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明。

8.deccribe:顯示表的相關(guān)信息

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明。

9.enable/disable:使表有效或無(wú)效

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明。

10.delete:刪除指定單元格的數(shù)據(jù)

刪除表t1,行rl,列c1,時(shí)間截為tsl上的數(shù)據(jù),命令如下。

hbase>delete't1','r1','c1',tsl

11.drop:刪除表

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明。需要指出的是,刪除某個(gè)表之前,必須先使該表無(wú)效。

12.exists:判斷表是否存在

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明

13.truncate:使表無(wú)效,刪除該表,然后重新建立表

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明

14.exit:退出HBase Shell

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明

15.shutdown:關(guān)閉HBase集群

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明

16.version:輸出HBase版本信息

該命令比較簡(jiǎn)單,這里不做具體說(shuō)明

17.status:輸出HBase集群狀態(tài)信息

可以通過(guò)summary,simple或者detailed這3個(gè)參數(shù)指定輸出信息的詳細(xì)程度。

輸出集群詳細(xì)狀態(tài)信息,命令如下:

hbase>status'detalled'