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

Lindorm:Lindorm Shell を使用した LindormTable への接続

最終更新日:Feb 04, 2026

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 を使用すると、エラーやライブラリの欠落が発生する場合があります。その場合は、エラーメッセージに基づいて必要なライブラリをシステムに追加する必要があります。

操作手順

  1. Lindorm Shell ツールをダウンロードします。

    1. Lindorm コンソールの左上隅で、インスタンスが配置されているリージョンを選択します。インスタンス一覧 ページで、ターゲットインスタンス ID をクリックします。

    2. 左側のナビゲーションウィンドウで Database Connections をクリックし、Wide Table Engine タブをクリックします。

    3. [Lindorm Shell Download] をクリックします。

  2. コマンドを実行して、Lindorm Shell パッケージをターゲットフォルダに解凍します。次の例は、パッケージを alihbase-2.0.18 フォルダに解凍する方法を示しています。

    tar zxvf hbaseue-shell.tar.gz
  3. 接続パラメーターを設定します。

    1. alihbase-2.0.18/conf ディレクトリに移動し、hbase-site.xml ファイルを開きます。

      vi hbase-site.xml
    2. LindormTable に接続するためのエンドポイント、ユーザー名、パスワードを設定します。

      <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.usernamehbase.client.password: LindormTable へのアクセスに使用されるユーザー名とパスワードです。パスワードを忘れた場合は、LindormTable の Cluster Management System で変更できます。詳細については、「ユーザーパスワードの変更」をご参照ください。

  4. 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 shell
  • Shell 環境を終了します。

    quit

操作リファレンス

テーブルの作成とデータの挿入

  1. テーブルを作成します。テーブル名とカラムファミリー名を指定する必要があります。

    create 'table_name', 'column_family_name'

    例:

    // カラムファミリー名が cf の test という名前のテーブルを作成します。
    create 'test', 'cf'
  2. データを挿入します。

    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'
    説明

    row1test テーブルの行キー、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'

一般的な設定リファレンス

一般的な設定

  • 指定したテーブルのメジャーコンパクションエポックを設定します。必要がない限り、このパラメーターは設定しないでください。単位はミリ秒 (ms) です。

    次の例では、メジャーコンパクションエポックを 7 日に設定します。

    alter 'table_name', {NAME => 'column_family_name', CONFIGURATION => {'hbase.hregion.majorcompaction' => 16800000}}
    説明

    デフォルト値:Math.Min(TTL, 1,728,000,000 ms)。TTL を設定しない場合、システムはデフォルト値の 20 日 (20 × 24 × 60 × 60 × 1000 ms = 1,728,000,000 ms) を使用します。

  • 指定したテーブルのカラムファミリーのデータ圧縮アルゴリズムを設定します。

    alter 'table_name', NAME => 'column_family_name', COMPRESSION => 'ZSTD'
  • 指定したテーブルのカラムファミリーのブロックエンコーディングタイプを設定します。

    test テーブルのカラムファミリーのブロックエンコーディングタイプを DATA_BLOCK_ENCODING に設定します。

    alter 'table_name', NAME => 'column_family_name', DATA_BLOCK_ENCODING => 'DIFF'
  • 指定したテーブルのカラムファミリーの存続時間 (TTL) を設定します。TTL の単位は秒 (s) です。たとえば、2,592,000 秒は 30 日です。

    alter 'table_name', NAME => 'column_family_name', TTL => 2592000

    データの有効期間をキャンセルしてデータを永続的に保持するには、TTL 値を FOREVER に設定します。以下に例を示します。

    alter 'table_name' , {NAME => 'column_family_name', TTL => 'FOREVER'}
  • 指定したテーブルの事前シャーディングを設定します。

    create 'table_name',{NAME => 'column_family_name',COMPRESSION => 'snappy' }, { NUMREGIONS => 50, SPLITALGO => 'HexStringSplit' }

    パラメーターの説明

    フィールド

    説明

    NAME

    HBase テーブルのカラムファミリー名。

    COMPRESSION

    HBase テーブルのデータ圧縮アルゴリズム。デフォルトの圧縮アルゴリズムは使用されません。次の圧縮アルゴリズムが利用可能です。

    • ZSTD (推奨)

    • SNAPPY

    • LZ4

    NUMREGIONS

    シャードの数。通常、シャードあたりのストレージ使用量が 6 GB から 8 GB に基づいてシャードの数を計算します。インスタンスが大きい場合は、必要に応じてより多くのシャード数を設定できます。

    SPLITALGO

    パーティションの初期化に使用されるアルゴリズム。HBase テーブルは、次の 3 つの分割アルゴリズムをサポートしています。各アルゴリズムのシナリオは以下のとおりです。

    • HexStringSplit:行キーが 16 進数文字列で始まる場合に適しています。

    • DecimalStringSplit:行キーが 10 進数文字列で始まる場合に適しています。

    • UniformSplit:行キーが完全にランダムなプレフィックスを持つ場合に適しています。

設定を変更した後、次の文を実行して変更が有効になったことを確認します。

describe 'table_name'