すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for HBase:HBase Shell

最終更新日:Mar 29, 2026

HBase Shell は、ApsaraDB for HBase のデータを管理するためのインタラクティブなコマンドラインインターフェイスです。これを利用して、テーブルの作成と構成、データの挿入とクエリ、およびテーブルの削除を行います。

前提条件

開始する前に、以下を確認してください。

  • ApsaraDB for HBase インスタンス (Standard Edition または Performance-enhanced Edition)

  • インスタンスノードへの Shell アクセス

接続設定については、以下をご参照ください。

HBase Shell の起動と終了

インスタンスノードから HBase Shell を起動します。

$ bin/hbase shell
hbase(main):001:0>

利用可能なコマンドと使用量を確認するには、以下を実行します。

hbase(main):001:0> help

終了するには、以下を実行します。

hbase(main):001:0> quit

コマンドリファレンス

HBase Shell は 2 種類のコマンドをサポートしています。完全なコマンドリファレンスについては、「The Apache HBase Shell」をご参照ください。

データ定義言語 (DDL)

コマンド説明
createテーブルを作成します
listすべてのテーブルをリストします
describeテーブルの詳細と構成を表示します
alterテーブルまたはカラムファミリーを変更します
existsテーブルが存在するかどうかを確認します
disableテーブルを無効にします
is_disabledテーブルが無効になっているかどうかを確認します
enableテーブルを有効にします
is_enabledテーブルが有効になっているかどうかを確認します
dropテーブルを削除します

データ操作言語 (DML)

コマンド説明
put指定された行とカラムのセルに値を書き込みます
get単一の行またはセルを読み取ります
scanテーブルをスキャンし、複数の行を返します
countテーブル内の行数をカウントします
delete特定のセル値を削除します
deleteall行内のすべてのセルを削除します
truncateテーブルを無効化、削除、再作成することで、テーブル内のすべてのデータをクリアします。リージョンは保持されません。
truncate_preserveテーブルを無効化、削除、再作成することで、テーブル内のすべてのデータをクリアします。元のテーブルのリージョンは保持されます。

基本操作

テーブルの作成

create を使用して、テーブル名と少なくとも 1 つのカラムファミリー名を指定します。

hbase(main):001:0> create 'test', 'cf'

テーブルのリスト

hbase(main):003:0> list

名前または正規表現でフィルタリングします。

hbase(main):004:0> list 'abc.*'
hbase(main):005:0> list 'test'

データの挿入

put を使用して値を書き込みます。各 put は、特定のテーブル、行キー、カラム (family:qualifier 形式)、および値を対象とします。

hbase(main):006:0> put 'test', 'row1', 'cf:a', 'value1'
hbase(main):007:0> put 'test', 'row2', 'cf:b', 'value2'
hbase(main):008:0> put 'test', 'row3', 'cf:c', 'value3'

テーブルのスキャン

scan は、テーブル内のすべての行を返します。

hbase(main):009:0> scan 'test'
ROW                     COLUMN+CELL
 row1                   column=cf:a, timestamp=1421762485768, value=value1
 row2                   column=cf:b, timestamp=1421762491785, value=value2
 row3                   column=cf:c, timestamp=1421762496210, value=value3
3 row(s) in 0.0230 seconds

単一行のルックアップには、get を使用します。これは、個々のレコードを取得する場合、scan よりも高速です。

単一の行の読み取り

hbase(main):010:0> get 'test', 'row1'
COLUMN              CELL
 cf:a               timestamp=1421762485768, value=value1
1 row(s) in 0.0350 seconds

テーブルの無効化と有効化

テーブルを削除したり、設定を変更したりする前に、テーブルを無効にしてください。

hbase(main):012:0> disable 'test'
hbase(main):013:0> enable 'test'

テーブルの削除

テーブルを削除する前に、無効にする必要があります。

hbase(main):014:0> disable 'test'
hbase(main):015:0> drop 'test'
警告

drop は、テーブルとそのすべてのデータを完全に削除します。この操作は元に戻せません。

alter を使用したテーブルの構成

alter を使用して、既存のテーブルのカラムファミリー設定を変更します。

メジャーコンパクション期間の設定

メジャーコンパクション期間はミリ秒単位で測定されます。デフォルトは 7 日です。0 に設定すると、スケジュールされたメジャーコンパクションが無効になります。

hbase(main):001:0> alter 'test', CONFIGURATION => {'hbase.hregion.majorcompaction' => 300000}
説明

ワークロードが具体的に必要としない限り、この設定を変更しないでください。

データ圧縮の設定

サポートされている圧縮形式の詳細については、「データ圧縮とエンコーディング」をご参照ください。

hbase(main):002:0> alter 'test', NAME => 'cf', COMPRESSION => 'SNAPPY'

ブロックエンコーディングの設定

hbase(main):003:0> alter 'test', NAME => 'cf', DATA_BLOCK_ENCODING => 'DIFF'

存続時間 (TTL) の設定

TTL は秒単位で測定されます。TTL より古いデータは自動的に削除されます。次の例では、30 日間の TTL (2,592,000 秒) を設定します。

hbase(main):004:0> alter 'test', NAME => 'cf', TTL => 2592000

テーブルのリージョンへの事前分割

事前分割は、最初からリージョン全体にデータを均等に分散します。詳細については、「事前分割」をご参照ください。

次のステップ