Hbase 简明教程

HBase - Shell

本章解释如何启动 HBase 附带的交互式 shell。

HBase Shell

HBase 包含一个 shell,你可以使用它与 HBase 通信。HBase 使用 Hadoop 文件系统来存储数据。它将拥有一个主服务器和区域服务器。数据存储将以区域(表)的形式进行。这些区域将被拆分为区域服务器中存储。

主服务器管理这些区域服务器并且所有这些任务都在 HDFS 上进行。以下是 HBase Shell 支持的一些命令。

General Commands

  1. status - 提供 HBase 的状态,例如服务器数量。

  2. version - 提供正在使用的 HBase 版本。

  3. table_help - 提供有关引用命令的表帮助。

  4. whoami - 提供有关用户的信息。

Data Definition Language

这些是对 HBase 中的表进行操作的命令。

  1. create - 创建一个表。

  2. list - 列出 HBase 中的所有表。

  3. disable - 禁用一个表。

  4. is_disabled - 验证一个表是否已禁用。

  5. enable - 启用一个表。

  6. is_enabled - 验证一个表是否已启用。

  7. describe - 提供表的描述信息。

  8. alter - 修改一个表。

  9. exists - 验证一个表是否存在。

  10. drop - 从 HBase 中删除一个表。

  11. drop_all - 删除匹配命令中给定的‘正则表达式’的表。

  12. Java Admin API - 在上述所有命令之前,Java 提供了一个 Admin API,可以通过编程实现 DDL 功能。在 org.apache.hadoop.hbase.client 包下,HBaseAdmin 和 HTableDescriptor 是该包中提供 DDL 功能的两个重要类。

Data Manipulation Language

  1. put - 在特定表的特定行中特定列处放置单元格值。

  2. get - 提取行或单元格的内容。

  3. delete - 删除表中的单元格值。

  4. deleteall - 删除给定行中的所有单元格。

  5. scan - 扫描并返回表数据。

  6. count - 计算并返回表中的行数。

  7. truncate - 禁用、删除和重新创建指定表。

  8. Java client API - 在上述所有命令之前,Java 提供了一个客户端 API,可以通过 org.apache.hadoop.hbase.client 包下的编程来实现 DML 功能,即 CRUD (创建检索更新删除)操作等。 HTable PutGet 是该包中的重要类。

Starting HBase Shell

若要访问 HBase shell,您必须导航到 HBase 主文件夹。​​

cd /usr/localhost/
cd Hbase

您可以使用 “hbase shell” 命令(如下所示)启动 HBase 交互式 shell。

./bin/hbase shell

如果已成功在系统中安装 HBase,那么它会给您 HBase shell 提示(如下所示)。

HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.23, rf42302b28aceaab773b15f234aa8718fff7eea3c, Wed Aug 27
00:54:09 UTC 2014

hbase(main):001:0>

要随时退出交互式 shell,请键入 exit 或使用 <ctrl+c>。在继续操作前查看 shell 运作情况。为此目的使用 list 命令。 List 是用于获取 HBase 中所有表的列表的命令。首先,使用此命令(如下所示)验证系统中 HBase 的安装和配置。

hbase(main):001:0> list

当您键入此命令时,它会给您以下输出结果。

hbase(main):001:0> list
TABLE