HBase サービスを含む E-MapReduce(EMR)クラスタを作成した後、HBase シェルを使用して HBase に接続し、データの読み取りや書き込みなどの操作を実行できます。このトピックでは、HBase シェルを使用して HBase に接続し、一般的な HBase シェルコマンドを使用する方法について説明します。
前提条件
HBase サービスを含む DataServing クラスタまたはカスタム クラスタが作成されていること。詳細については、「クラスタを作成する」をご参照ください。
HBase への接続
SSH モードで目的のクラスタにログオンします。詳細については、「クラスタにログオンする」をご参照ください。
次のコマンドを実行して HBase に接続します。
hbase shellHBase に接続すると、基本的な使用方法のヒント、HBase のバージョン情報、および
hbase(main):001:0>プロンプトが表示されます。helpコマンドを実行すると、HBase シェルでサポートされているコマンドのリストを表示できます。
一般的な HBase シェル コマンド
テーブルの作成
create コマンドを実行してテーブルを作成します。テーブル名と 1 つ以上のカラムファミリーを指定する必要があります。たとえば、次のコマンドを実行して、cf1 というカラムファミリーを含む table1 という名前のテーブルを作成できます。
create 'table1', 'cf1'テーブルへのデータの書き込み
put コマンドを実行して、テーブルにデータを書き込みます。テーブル名、行キー、列、および書き込む値を指定する必要があります。HBase の列は、カラムファミリーとカラム修飾子で構成されます。次の例では、cf1:q1 列は、カラムファミリー cf1 とカラム修飾子 q1 で構成されています。
put 'table1', 'r1', 'cf1:q1', 'v1'
put 'table1', 'r1', 'cf1:q2', 'v2'
put 'table1', 'r2', 'cf1:q1', 'v3'テーブルのスキャン
scan コマンドを実行して、指定された条件を満たすすべてのデータをテーブルから取得します。ビジネス要件に基づいて scan コマンドに条件を追加できます。たとえば、次のコマンドを実行して、table1 の 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 コマンドを実行して、テーブルから単一行またはセルのデータを取得します。ビジネス要件に基づいて get コマンドに条件を追加できます。たとえば、次のコマンドを実行して、table1 の 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コマンドを実行して、テーブルから単一セルの値を削除します。セルは、テーブルの行の列に対応します。たとえば、次のコマンドを実行して、table1 の r2 行の cf1:q1 列の値を削除できます。delete 'table1', 'r2', 'cf1:q1'複数セルのデータの削除
deleteallコマンドを実行して、テーブルの行で指定された条件を満たすすべての列の値を削除します。たとえば、次のコマンドを実行して、table1 の r1 行のすべてのデータを削除できます。削除の範囲を制限するために、コマンドにカラムファミリー名を追加できます。deleteall 'table1', 'r1'
テーブルの無効化
disable コマンドを実行して、テーブルを無効にします。テーブルを削除したり、テーブルの特定の設定を変更したりする前に、テーブルを無効にする必要があります。たとえば、次のコマンドを実行して、table1 を無効にできます。
disable 'table1'テーブルの有効化
enable コマンドを実行して、テーブルを有効にします。たとえば、次のコマンドを実行して、table1 を有効にできます。
enable 'table1'テーブルの削除
drop コマンドを実行して、テーブルを削除します。テーブルを削除する前に、テーブルを無効にする必要があります。たとえば、次のコマンドを実行して、table1 を削除できます。
drop 'table1'FAQ
関連情報
詳細については、Apache HBase の公式 Web サイトにある Apache HBase リファレンスガイド をご参照ください。