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

ApsaraDB for HBase:データクエリ

最終更新日:Jan 16, 2025

サービスの開発、デバッグ、または保守を行う際に、ApsaraDB for HBase に格納されているデータエントリをクエリする必要がある場合があります。 HBase Shell を使用して Get クエリと Scan クエリを作成できます。また、Lindorm Insight の使いやすい SQL クエリインターフェースを使用してデータをクエリすることもできます。このインターフェースでは、SQL 構文を使用して、ApsaraDB for HBase Performance-enhanced Edition (Lindorm) テーブルのデータをクエリできます。

前提条件

クラスターの Lindorm Insight にログオンしていること。 詳細については、「Lindorm Insight へのログオン」をご参照ください。

制限事項

  • データセキュリティを確保するため、Lindorm はクエリごとに最大 100 エントリのみを返します。

  • ROW フィールドは、Lindorm の RowKey と同等です。ROW フィールドと qualifier フィールドのデータ型は varbinary です。qualifier フィールドがファミリに属していない場合は、ファミリを指定する必要があります。

  • ROW フィールドと COL フィールドは、SQL の予約フィールドです。これらのフィールドをクエリで使用する場合は、フィールドをバッククォート(`)で囲む必要があります。qualifier フィールドにファミリを指定する場合は、フィールドもバッククォート(`)で囲む必要があります。

データクエリ (HBase と互換性あり)

[データクエリ (hbase と互換性あり)] モジュールでは、指定したテーブルの詳細情報をクエリしたり、既存のテーブルに属性を追加したりできます。

既存のデータのクエリ

SQL テーブルHBase テーブルの既存のデータをクエリできます。

  1. クラスター管理システムの左側のナビゲーションペインで、[データクエリ] > [データクエリ (hbase と互換性あり)] を選択します。

  2. [名前空間][テーブル名] を含むフィルター条件を指定します。

  3. (オプション) フィルター列ファミリ、行キー、開始キー、終了キー、制限などのその他の条件を指定します。

  4. [クエリ] をクリックします。指定したテーブルの既存のデータが表示されます。

HBase テーブルにデータを追加する

クラスター管理システムでは、HBase テーブルにのみデータを追加できます。SQL テーブルには追加できません。

  1. [追加] をクリックします。

  2. [テーブルデータの追加] ダイアログボックスで、次の表に示すパラメーターを指定します。

    パラメーター

    説明

    行キー

    HBase テーブルの行キー。

    テーブルに追加する列。このパラメーターの値で列ファミリを指定する必要があります。このパラメーターの値は、次の形式です。<Column family name:Column name>。例:f:name

    タイムスタンプ

    Unix タイムスタンプのみがサポートされています。

    データの値。サポートされているデータ型の詳細については、「基本データ型」をご参照ください。

  3. [OK] をクリックして、テーブルにデータの行を追加します。

既存のデータの変更

SQL テーブルHBase テーブルの既存のデータを変更できます。

  1. 変更する行に対応する [操作] 列の [編集] をクリックします。image.png

  2. [テーブルデータの編集] ダイアログボックスで、タイムスタンプとデータ値を変更します。

  3. [OK] をクリックして、変更したデータを保存します。

SQL Executor

  1. クラスター管理システムの左側のナビゲーションペインで、[データクエリ] > [SQL Executor] を選択します。

  2. [名前空間] ドロップダウンリストから名前空間を選択します。名前空間内のテーブルがページの右側に表示されます。

  3. (オプション): 16 進数文字列を取得します。 詳細については、「16 進数文字列の取得」をご参照ください。

  4. エディターにクエリの SQL ステートメントを入力します。

  5. [実行] をクリックします。

    説明

    次のショートカットキーを使用して SQL ステートメントを実行することもできます。Windows: CTRL + ENTER。macOS: COMMAND + RETURN。

16 進数文字列を取得する

HBase テーブルで条件または指定された行を使用して varbinary データをクエリするには、値として 16 進文字列を使用する必要があります。たとえば、rowkey が r1 のデータをクエリするには、SQL ステートメントで WHERE 句を WHERE rowkey='7321' に設定します。r1 の 16 進文字列は 7321 です。クラスター管理システムのデータクエリページには、値を 16 進文字列に変換するための変換ツールが用意されています。

  1. クラスター管理システムの左側のナビゲーションペインで、[データクエリ] > [SQL Executor] を選択します。

  2. [名前空間] ドロップダウンリストから名前空間を選択します。名前空間内のテーブルがページの右側に表示されます。

  3. 値の 16 進数文字列を取得します。

    • 方法 1: [実行] をクリックして、テーブルのスキーマを表示します。 [バイナリから 16 進数文字列への変換] フィールドに変換する文字列を入力します。エディターセクションの上部で 16 進数文字列を取得できます。image.png

    • 方法 2: [hexstring] スイッチをオンにして、[実行] をクリックします。実行結果で値に対応する 16 進数文字列を取得します。

  4. 実行する SQL ステートメントを入力し、ステートメントの条件値を変換された 16 進数文字列に置き換えます。

    たとえば、実行する元のSQLステートメントが SELECT * FROM task WHERE ROW = "xxxx1"; である場合、値が16進数文字列に置き換えられたステートメントは SELECT * FROM task WHERE ROW = "7878787831"; です。

  1. [実行] をクリックします。