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