CGFT知识点:HBase常用的Shell命令
CGFT知识点:HBase常用的Shell命令。HBase为用户提供了*方便的Shell命令,通过这些命令我们可以很方便地对表、列族、列等进行操作。这里介绍一些常用的Shell命令以及具体的操作实例。
首先,我们需要启动HDFS和HBase进程,然后,在终端输入“hbase shell”命令进入该Shell环境,输入“help”,可以查看HBase支持的所有Shell命令(见表4-7)。
接下来,我们将详细介绍常用的ddl和dml命令,对于其他命令,读者可以在终端输入"help'command""命令,来获知该命令的作用及其具体语法。
1.create:创建表
①创建表t1,列族为n,列族版本号为5,命令如下。
hbase> ereate't1',{NAME=>'f1',VERSIONS=>5}
②创建表t1,3个列族分别为f1、f2、f3,命令如下。
hbase>create't1',(NAME=>'f1'},{NAME=>'f2'},{NAME=>'f3'}
或者使用如下等价的命令。
hbase>create't1','f1','f2','f3'
③创建表t1,将表依据分割算法HexStringSplit分布在15个Region里,命令如下。
hbase> create't1','f1', {NUMREGIONS =>15, SPLITALGO => 'HexStringSp1it'}
④创建表t1,指定切分点,命令如下。
hbase>create't1','f1',{SPLITS => ['10','20','30','40'1]}
2.list:列出HBase中所有的表信息
该命令比较简单,这里不做具体说明
3.put:向表、行、列指定的单元格添加数据
向表日中行rowl,列f1:1,添加数据valuel,时间截为1421822284898,命令如下。
hbasey>put't1','rowl','f1:1','value1',1421822284898
4.get:通过指定表名、行、列、时间截、时间范围和版本号来获得相应单元格的值
①获得表t1,行rl,列c1,时间范围为[tsl,ts2],版本号为4的数据,命令如下。
hbase> get 't1','r1', {COLUMN => 'c1', TIMERANGE " [tsl, ts2], VERSIONS => 4)}
②获得表日,行rl,列c1和c2上的数据,命令如下。
hbase> get 't1','rl','c1','c2'
5.scan:浏览表的相关信息
可以通过TIMERANGE、FILTER、LIMIT、STARTROW、STOPROW、TIMESTAMP、MAXLENGTH、COLUMNS、CACHE来限定所需要浏览的数据。
①浏览表“,META.”,列info:regioninfo上的数据,命令如下。
hbase>scan'.META.',{COLUMNS=>'info:regioninto'}
②浏览表日,列c1,时间范围为[1303668804,1303668904]的数据,命令如下。
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'
③设定表t1中列族f1*为128MB,命令如下。
hbase> alter "t1', METHOD => "table_att', MAX_FILESIZE=-> '134217728'
上面命令中,“134217728”表示字节数,128MB等于134217728字节。
7.count:统计表中的行数
该命令比较简单,这里不做具体说明。
8.deccribe:显示表的相关信息
该命令比较简单,这里不做具体说明。
9.enable/disable:使表有效或无效
该命令比较简单,这里不做具体说明。
10.delete:删除指定单元格的数据
删除表t1,行rl,列c1,时间截为tsl上的数据,命令如下。
hbase>delete't1','r1','c1',tsl
11.drop:删除表
该命令比较简单,这里不做具体说明。需要指出的是,删除某个表之前,必须先使该表无效。
12.exists:判断表是否存在
该命令比较简单,这里不做具体说明
13.truncate:使表无效,删除该表,然后重新建立表
该命令比较简单,这里不做具体说明
14.exit:退出HBase Shell
该命令比较简单,这里不做具体说明
15.shutdown:关闭HBase集群
该命令比较简单,这里不做具体说明
16.version:输出HBase版本信息
该命令比较简单,这里不做具体说明
17.status:输出HBase集群状态信息
可以通过summary,simple或者detailed这3个参数指定输出信息的详细程度。
输出集群详细状态信息,命令如下:
hbase>status'detalled'