Lindorm Shell は、Lindorm が提供する HBase クライアントツールです。HBase Java API を使用して LindormTable に接続し、テーブルの作成、データの挿入、データのクエリなどの操作を実行します。このトピックでは、Lindorm Shell をダウンロードし、それを使用して LindormTable に接続する方法について説明します。
前提条件
Java 環境がインストール済みであること。Java 開発キット (JDK) 1.8 以降のバージョンが必要です。
クライアントの IP アドレスが Lindorm インスタンスのホワイトリストに追加されていること。詳細については、「ホワイトリストの設定」をご参照ください。
注意事項
Lindorm Shell を使用して LindormTable に接続する場合、単純なデータ定義言語 (DDL) とデータの読み書き操作しか実行できません。サポートされていない操作の詳細については、「HBase API の制限事項」をご参照ください。
SQL を使用して作成されたワイドテーブルへのアクセスに HBase API を使用しないでください。文字化けが発生する可能性があります。
Lindorm Shell は Linux または macOS オペレーティングシステムで使用できます。
重要Windows オペレーティングシステムで Lindorm Shell を使用すると、エラーやライブラリの欠落が発生する場合があります。その場合は、エラーメッセージに基づいて必要なライブラリをシステムに追加する必要があります。
操作手順
Lindorm Shell ツールをダウンロードします。
Lindorm コンソールの左上隅で、インスタンスが配置されているリージョンを選択します。インスタンス一覧 ページで、ターゲットインスタンス ID をクリックします。
左側のナビゲーションウィンドウで Database Connections をクリックし、Wide Table Engine タブをクリックします。
[Lindorm Shell Download] をクリックします。
コマンドを実行して、Lindorm Shell パッケージをターゲットフォルダに解凍します。次の例は、パッケージを
alihbase-2.0.18フォルダに解凍する方法を示しています。tar zxvf hbaseue-shell.tar.gz接続パラメーターを設定します。
alihbase-2.0.18/confディレクトリに移動し、hbase-site.xmlファイルを開きます。vi hbase-site.xmlLindormTable に接続するためのエンドポイント、ユーザー名、パスワードを設定します。
<configuration> <property> <name>hbase.zookeeper.quorum</name> <value>ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020</value> </property> <property> <name>hbase.client.username</name> <value>testuser</value> </property> <property> <name>hbase.client.password</name> <value>password</value> </property> </configuration>パラメーターの説明:
hbase.zookeeper.quorum: Lindorm ワイドテーブルエンジンの[HBase Java API を使用したアクセス] エンドポイント。
VPC エンドポイント:Lindorm Shell が Lindorm インスタンスと同じ VPC 内の ECS インスタンスにインストールされている場合に使用します。
パブリックエンドポイント:Lindorm Shell がローカルマシン、または Lindorm インスタンスと同じ VPC 内にない ECS インスタンスにインストールされている場合に使用します。
hbase.client.username と hbase.client.password: LindormTable へのアクセスに使用されるユーザー名とパスワードです。パスワードを忘れた場合は、LindormTable の Cluster Management System で変更できます。詳細については、「ユーザーパスワードの変更」をご参照ください。
Lindorm Shell を使用して LindormTable にアクセスします。
alihbase-2.0.18/binディレクトリに移動し、次のコマンドを実行します。./hbase shell以下の情報が表示されたら、接続は成功です。
Version 2.0.18, r08b8d58a9d6ce89765d5ebe2ddff425aed644c16, Mon Feb 1 12:46:39 CST 2021 Took 0.0034 seconds説明シェルの使用方法の詳細については、「Lindorm Shell リファレンス」をご参照ください。
Lindorm Shell リファレンス
コマンドリファレンス
シェルコマンドの詳細については、「Apache HBase Shell」をご参照ください。
データ定義言語
create:テーブルを作成します。
list:すべてのテーブルを一覧表示します。
disable:テーブルを無効にします。
is_disabled:テーブルが無効になっているかを確認します。
enable:テーブルを有効にします。
is_enabled:テーブルが有効になっているかを確認します。
describe:テーブルのプロパティやスキーマなど、指定したテーブルの詳細を表示します。
alter:テーブルを変更します。
exists:テーブルが存在するかどうかを確認します。
drop:指定したテーブルを削除します。
データ操作言語
put:特定のセルの値を更新します。
get:指定した行またはセルの内容を取得します。
delete:テーブル内のセルの値を削除します。
deleteall:指定した行のすべてのセルを削除します。
scan:テーブルデータをスキャンして返します。
count:テーブルの行数をカウントして返します。
truncate_preserve:テーブル内のすべてのデータを削除します。この操作は、指定されたテーブルを無効にして削除し、元のテーブルと同じリージョンパーティションで再作成します。
Shell 環境の開始と終了
Shell 環境を開始します。
bin/hbase shellShell 環境を終了します。
quit
操作リファレンス
テーブルの作成とデータの挿入
テーブルを作成します。テーブル名とカラムファミリー名を指定する必要があります。
create 'table_name', 'column_family_name'例:
// カラムファミリー名が cf の test という名前のテーブルを作成します。 create 'test', 'cf'データを挿入します。
put 'table_name', 'rowkey', 'column_family_name:column_name', 'value'例:
put 'test', 'row1', 'cf:a', 'value1' put 'test', 'row2', 'cf:b', 'value2' put 'test', 'row3', 'cf:c', 'value3'説明row1はtestテーブルの行キー、cf:aはカラムファミリー名とカラム名を指定し、value1は値です。
クエリ
すべてのテーブルに関する情報をクエリします。正規表現を使用してテーブルをフィルターできます。
list list 'abc.*' list 'test'指定したテーブルのデータをクエリします。
scanコマンドは、HBase データにアクセスするための柔軟な方法を提供します。scan操作を使用して、テーブル全体をスキャンしたり、特定の範囲内のデータをクエリしたりできます。クエリ速度は、getコマンドを使用して単一のデータをクエリする場合よりもわずかに遅くなります。次の文を実行して、test テーブルをクエリします。scan 'table_name'例:
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テーブルから 1 行のデータをクエリします。
get 'table_name', 'Rowkey'例:
get 'test', 'row1'結果:
COLUMN CELL cf:a timestamp=1421762485768, value=value1 1 row(s) in 0.0350 seconds
テーブルの無効化と有効化
指定したテーブルを無効化または有効化できます。テーブルを削除したり、設定を変更したり、その他の操作を実行する前に、まず disable コマンドを使用してテーブルを無効にする必要があります。削除または設定の変更が完了したら、enable コマンドを使用してテーブルを再度有効にします。
disable 'table_name'
enable 'table_name'テーブルの削除
指定したテーブルを削除します。
drop 'table_name'