全部產品
Search
文件中心

E-MapReduce:使用HBase Shell

更新時間:Feb 09, 2025

建立包含HBase服務的叢集後,您可以使用HBase Shell串連HBase,並進行讀取和寫入資料等操作。本文為您介紹如何串連HBase,以及常用的HBase Shell命令。

前提條件

已建立包含HBase服務的資料服務情境(DataServing)或者自訂叢集(Custom),詳情請參見建立叢集

串連HBase

  1. 通過SSH方式登入叢集,詳情請參見登入叢集

  2. 執行以下命令,串連HBase。

    hbase shell

    成功串連HBase後,系統會列印一些基礎使用資訊和HBase版本資訊,並顯示hbase(main):001:0>提示符。

    您可以運行help命令來查看HBase Shell命令列表。

HBase Shell常用命令

建立表

運行create命令可以建立表,您需要同時指定建立的表名和列簇(column family)。例如,通過以下命令可以建立名為table1的表,表中包含一個列簇cf1。

create 'table1', 'cf1'

寫入資料

運行put命令向表中寫入資料,您需要同時指定表名、行、列以及寫入的值。HBase的列由列簇和列名(qualifier)兩部分組成,例如下面樣本中的列cf1:q1由列簇cf1和列名q1兩部分組成。

put 'table1', 'r1', 'cf1:q1', 'v1'
put 'table1', 'r1', 'cf1:q2', 'v2'
put 'table1', 'r2', 'cf1:q1', 'v3'

掃描表

運行scan命令擷取所有合格資料。您可以根據自己的需求為scan命令增加限制條件。例如,通過以下命令擷取表cf1:q1列的所有資料。

scan 'table1', {COLUMNS => 'cf1:q1'}

返回資訊如下。

ROW                                                COLUMN+CELL
 r1                                                column=cf1:q1, timestamp=2022-09-14T16:06:34.339, value=v1
 r2                                                column=cf1:q1, timestamp=2022-09-14T16:06:36.615, value=v3
2 row(s)

擷取資料

運行get命令擷取單個行(row)或儲存格(cell)的資料。您可以根據需求為get命令增加限制條件。例如,通過以下命令擷取表的r1行,cf1:q1列的值。

get 'table1', 'r1', {COLUMNS => 'cf1:q1'}

返回資訊如下。

COLUMN                                             CELL
 cf1:q1                                            timestamp=2022-09-14T16:06:34.339, value=v1
1 row(s)

刪除資料

  • 刪除單個資料

    運行delete命令刪除單個儲存格的值,即表的某一行的某一列的值。例如,通過以下命令可以刪除表的r2行,cf1:q1列的值。

    delete 'table1', 'r2', 'cf1:q1'
  • 刪除多個資料

    運行deleteall命令刪除表的某一行合格所有列的值。例如,通過以下命令可以刪除表的r1行的所有資料,您可以在命令中增加列簇名來限制刪除的範圍。

    deleteall 'table1', 'r1'

禁用表

運行disable命令禁用表,如果需要刪除表或更改某些設定等,則先禁用表。例如,通過以下命令可以禁用名為table1的表。

disable 'table1'

啟用表

運行enable命令啟用表。例如,通過以下命令可以啟用名為table1的表。

enable 'table1'

刪除表

運行drop命令刪除表,刪除表之前必須先禁用表。例如,通過以下命令可以刪除名為table1的表。

drop 'table1'

常見問題

HBase有可視化的開發介面嗎?

HBase本身並沒有提供一個完整的可視化開發介面,HBase內建的Web介面主要用於監控和管理HBase叢集的效能和狀態,並不用於資料操作。HBase主要通過命令列工具(HBase Shell)、Java API以及其他一些介面(如REST API和Thrift)來提供資料的增刪改查操作。

相關文檔

您可以查看Apache HBase Shell官方文檔瞭解更多資訊,詳情請參見Apache HBase官網