📜  HBase-Shell(1)

📅  最后修改于: 2023-12-03 15:15:28.990000             🧑  作者: Mango

HBase-Shell介绍

HBase是一个跑在Hadoop上的面向列的开源数据库,支持海量数据存储和实时读写,并且具有高可靠性和高可伸缩性。HBase也提供了一个命令行界面——HBase-Shell,可以方便地管理HBase数据库。

安装

HBase-Shell是在HBase安装时包含的,所以只需安装HBase即可使用HBase-Shell。具体安装方式可以参考HBase官网:http://hbase.apache.org/book.html#quickstart。

连接到HBase

首先,进入HBase-Shell:

$HBASE_HOME/bin/hbase shell

连接到HBase数据库:

hbase(main):001:0> connect 'localhost'

这里连接到了localhost上的HBase。

HBase-Shell命令

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用于扫描表中所有数据,支持各种过滤器:

全表扫描:

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