HBase Shell


本章介绍如何启动随HBase一起提供的HBase交互式shell。

HBase Shell

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

主服务器管理这些区域服务器,所有这些任务都在HDFS上进行。下面给出了HBase Shell支持的一些命令。

一般命令

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

  • 版本 - 提供正在使用的HBase版本。

  • table_help - 为表引用命令提供帮助。

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

数据定义语言

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

  • 创建 - 创建一个表。

  • 列表 - 列出HBase中的所有表。

  • 禁用 - 禁用表格。

  • is_disabled - 验证表是否被禁用。

  • 启用 - 启用表格。

  • is_enabled - 验证表是否已启用。

  • describe - 提供表格的描述。

  • 改变 - 改变 一张桌子。

  • 存在 - 验证表是否存在。

  • drop - 从HBase中删除一个表。

  • drop_all - 删除与命令中给出的'正则表达式'匹配的表。

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

数据操作语言

  • put - 将单元格值放置在特定表的指定行中的指定列上。

  • 获取 - 获取行或单元格的内容。

  • 删除 - 删除表格中的单元格值。

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

  • 扫描 - 扫描并返回表格数据。

  • count - 计数并返回表中的行数。

  • truncate - 禁用,删除并重新创建指定的表。

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

启动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>。进一步继续之前检查壳体是否正常工作。为此使用 list 命令。 List 是一个用于获取HBase中所有表的列表的命令。首先,使用下面的命令验证系统中HBase的安装和配置。

hbase(main):001:0> list

当你输入这个命令时,它会给你下面的输出。

hbase(main):001:0> list
TABLE