HBase Shell

本章介紹瞭如何使用自帶HBase交互shell啓動HBase。

HBase Shell

HBase包含可以與HBase進行通信的Shell。 HBase使用Hadoop文件系統來存儲數據。它擁有一個主服務器和區域服務器。數據存儲將在區域(表)的形式。這些區域被分割並存儲在區域服務器。

主服務器管理這些區域服務器,所有這些任務發生在HDFS。下面給出的是一些由HBase Shell支持的命令。

通用命令

  • status: 提供HBase的狀態,例如,服務器的數量。

  • version: 提供正在使用HBase版本。

  • table_help: 表引用命令提供幫助。

  • whoami: 提供有關用戶的信息。

數據定義語言

這些是關於HBase在表中操作的命令。

  • create: 創建一個表。
  • list: 列出HBase的所有表。
  • disable: 禁用表。
  • is_disabled: 驗證表是否被禁用。
  • enable: 啓用一個表。
  • is_enabled: 驗證表是否已啓用。
  • describe: 提供了一個表的描述。
  • alter: 改變一個表。
  • exists: 驗證表是否存在。
  • drop: 從HBase中刪除表。
  • drop_all: 丟棄在命令中給出匹配「regex」的表。
  • Java Admin API: 在此之前所有的上述命令,Java提供了一個通過API編程來管理實現DDL功能。在這個org.apache.hadoop.hbase.client包中有HBaseAdmin和HTableDescriptor 這兩個重要的類提供DDL功能。

數據操縱語言

  • put: 把指定列在指定的行中單元格的值在一個特定的表。
  • get: 取行或單元格的內容。
  • delete: 刪除表中的單元格值。
  • deleteall: 刪除給定行的所有單元格。
  • scan: 掃描並返回表數據。
  • count: 計數並返回表中的行的數目。
  • truncate: 禁用,刪除和重新創建一個指定的表。
  • Java client API: 在此之前所有上述命令,Java提供了一個客戶端API來實現DML功能,CRUD(創建檢索更新刪除)操作更多的是通過編程,在org.apache.hadoop.hbase.client包下。 在此包HTable 的 Put和Get是重要的類。

啓動 HBase Shell

要訪問HBase shell,必須導航進入到HBase的主文件夾。

cd /usr/localhost/ cd Hbase

可以使用「hbase shell」命令來啓動HBase的交互shell,如下圖所示。

./bin/hbase shell

如果已成功在系統中安裝HBase,那麼它會給出 HBase shell 提示符,如下圖所示。

HBase Shell; enter 'help' for list of supported commands. Type "exit" 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