📅  最后修改于: 2023-12-03 15:15:28.990000             🧑  作者: Mango
HBase是一个跑在Hadoop上的面向列的开源数据库,支持海量数据存储和实时读写,并且具有高可靠性和高可伸缩性。HBase也提供了一个命令行界面——HBase-Shell,可以方便地管理HBase数据库。
HBase-Shell是在HBase安装时包含的,所以只需安装HBase即可使用HBase-Shell。具体安装方式可以参考HBase官网:http://hbase.apache.org/book.html#quickstart。
首先,进入HBase-Shell:
$HBASE_HOME/bin/hbase shell
连接到HBase数据库:
hbase(main):001:0> connect 'localhost'
这里连接到了localhost上的HBase。
HBase-Shell命令非常丰富,我们只列举一些比较常用的:
创建表:
create 'tablename', 'columnfamily'
例如:
create 'user', 'info'
这里创建了一个名为user的表,并为其创建了一个名为info的column family。
删除表:
disable 'tablename'
drop 'tablename'
例如:
disable 'user'
drop 'user'
先禁用表,再删除表。
插入数据:
put 'tablename', 'rowkey', 'columnfamily:column', 'value'
例如:
put 'user', 'Tom', 'info:name', 'Tom Smith'
查询数据:
get 'tablename', 'rowkey'
例如:
get 'user', 'Tom'
修改数据:
put 'tablename', 'rowkey', 'columnfamily:column', 'value'
例如:
put 'user', 'Tom', 'info:name', 'Tom Allen'
删除数据:
delete 'tablename', 'rowkey', 'columnfamily:column'
例如:
delete 'user', 'Tom', 'info:name'
Scan用于扫描表中所有数据,支持各种过滤器:
全表扫描:
scan 'tablename'
过滤器:
scan 'tablename', {FILTER => "SingleColumnValueFilter('columnfamily', 'column', comparator, value)"}
例如:
scan 'user', {FILTER => "SingleColumnValueFilter('info', 'age', =, '20')"}
这里过滤出年龄为20的用户。
详细的命令说明可以参考HBase官网:http://hbase.apache.org/book.html#shell