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<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