CGFT考試知識點:HBase常用的Shell命令!HBase為用戶提供了*方便的Shell命令,通過這些命令我們可以很方便地對表、列族、列等進行操作。這里介紹一些常用的Shell命令以及具體的操作實例。
首先,我們需要啟動HDFS和HBase進程,然后,在終端輸入“hbase shell”命令進入該Shell環(huán)境,輸入“help”,可以查看HBase支持的所有Shell命令。
我們詳細介紹常用的ddl和dml命令,對于其他命令,讀者可以在終端輸入"help'command""命令,來獲知該命令的作用及其具體語法。
1.create:創(chuàng)建表
①創(chuàng)建表t1,列族為n,列族版本號為5,命令如下。
hbase> ereate't1',{NAME=>'f1',VERSIONS=>5}
②創(chuàng)建表t1,3個列族分別為f1、f2、f3,命令如下。
hbase>create't1',(NAME=>'f1'},{NAME=>'f2'},{NAME=>'f3'}
或者使用如下等價的命令。
hbase>create't1','f1','f2','f3'
③創(chuàng)建表t1,將表依據(jù)分割算法HexStringSplit分布在15個Region里,命令如下。
hbase> create't1','f1', {NUMREGIONS =>15, SPLITALGO => 'HexStringSp1it'}
④創(chuàng)建表t1,指定切分點,命令如下。
hbase>create't1','f1',{SPLITS => ['10','20','30','40'1]}
2.list:列出HBase中所有的表信息
該命令比較簡單,這里不做具體說明
3.put:向表、行、列指定的單元格添加數(shù)據(jù)
向表日中行rowl,列f1:1,添加數(shù)據(jù)valuel,時間截為1421822284898,命令如下。
hbasey>put't1','rowl','f1:1','value1',1421822284898
4.get:通過指定表名、行、列、時間截、時間范圍和版本號來獲得相應(yīng)單元格的值
①獲得表t1,行rl,列c1,時間范圍為[tsl,ts2],版本號為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)信息
可以通過TIMERANGE、FILTER、LIMIT、STARTROW、STOPROW、TIMESTAMP、MAXLENGTH、COLUMNS、CACHE來限定所需要瀏覽的數(shù)據(jù)。
①瀏覽表“,META.”,列info:regioninfo上的數(shù)據(jù),命令如下。
hbase>scan'.META.',{COLUMNS=>'info:regioninto'}
②瀏覽表日,列c1,時間范圍為[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)計表中的行數(shù)
該命令比較簡單,這里不做具體說明。
8.deccribe:顯示表的相關(guān)信息
該命令比較簡單,這里不做具體說明。
9.enable/disable:使表有效或無效
該命令比較簡單,這里不做具體說明。
10.delete:刪除指定單元格的數(shù)據(jù)
刪除表t1,行rl,列c1,時間截為tsl上的數(shù)據(jù),命令如下。
hbase>delete't1','r1','c1',tsl
11.drop:刪除表
該命令比較簡單,這里不做具體說明。需要指出的是,刪除某個表之前,必須先使該表無效。
12.exists:判斷表是否存在
該命令比較簡單,這里不做具體說明
13.truncate:使表無效,刪除該表,然后重新建立表
該命令比較簡單,這里不做具體說明
14.exit:退出HBase Shell
該命令比較簡單,這里不做具體說明
15.shutdown:關(guān)閉HBase集群
該命令比較簡單,這里不做具體說明
16.version:輸出HBase版本信息
該命令比較簡單,這里不做具體說明
17.status:輸出HBase集群狀態(tài)信息
可以通過summary,simple或者detailed這3個參數(shù)指定輸出信息的詳細程度。
輸出集群詳細狀態(tài)信息,命令如下:
hbase>status'detalled'