サービスの開発、デバッグ、または保守を行う際に、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 テーブルの既存のデータをクエリできます。
クラスター管理システムの左側のナビゲーションペインで、 を選択します。
[名前空間] と [テーブル名] を含むフィルター条件を指定します。
(オプション) フィルター列ファミリ、行キー、開始キー、終了キー、制限などのその他の条件を指定します。
[クエリ] をクリックします。指定したテーブルの既存のデータが表示されます。
HBase テーブルにデータを追加する
クラスター管理システムでは、HBase テーブルにのみデータを追加できます。SQL テーブルには追加できません。
[追加] をクリックします。
[テーブルデータの追加] ダイアログボックスで、次の表に示すパラメーターを指定します。
パラメーター
説明
行キー
HBase テーブルの行キー。
列
テーブルに追加する列。このパラメーターの値で列ファミリを指定する必要があります。このパラメーターの値は、次の形式です。
<Column family name:Column name>。例:f:name。タイムスタンプ
Unix タイムスタンプのみがサポートされています。
値
データの値。サポートされているデータ型の詳細については、「基本データ型」をご参照ください。
[OK] をクリックして、テーブルにデータの行を追加します。
既存のデータの変更
SQL テーブルと HBase テーブルの既存のデータを変更できます。
変更する行に対応する [操作] 列の [編集] をクリックします。

[テーブルデータの編集] ダイアログボックスで、タイムスタンプとデータ値を変更します。
[OK] をクリックして、変更したデータを保存します。
SQL Executor
クラスター管理システムの左側のナビゲーションペインで、 を選択します。
[名前空間] ドロップダウンリストから名前空間を選択します。名前空間内のテーブルがページの右側に表示されます。
(オプション): 16 進数文字列を取得します。 詳細については、「16 進数文字列の取得」をご参照ください。
エディターにクエリの SQL ステートメントを入力します。
[実行] をクリックします。
説明次のショートカットキーを使用して SQL ステートメントを実行することもできます。Windows: CTRL + ENTER。macOS: COMMAND + RETURN。
16 進数文字列を取得する
HBase テーブルで条件または指定された行を使用して varbinary データをクエリするには、値として 16 進文字列を使用する必要があります。たとえば、rowkey が r1 のデータをクエリするには、SQL ステートメントで WHERE 句を WHERE rowkey='7321' に設定します。r1 の 16 進文字列は 7321 です。クラスター管理システムのデータクエリページには、値を 16 進文字列に変換するための変換ツールが用意されています。
クラスター管理システムの左側のナビゲーションペインで、 を選択します。
[名前空間] ドロップダウンリストから名前空間を選択します。名前空間内のテーブルがページの右側に表示されます。
値の 16 進数文字列を取得します。
方法 1: [実行] をクリックして、テーブルのスキーマを表示します。 [バイナリから 16 進数文字列への変換] フィールドに変換する文字列を入力します。エディターセクションの上部で 16 進数文字列を取得できます。

方法 2: [hexstring] スイッチをオンにして、[実行] をクリックします。実行結果で値に対応する 16 進数文字列を取得します。
実行する SQL ステートメントを入力し、ステートメントの条件値を変換された 16 進数文字列に置き換えます。
たとえば、実行する元のSQLステートメントが
SELECT * FROM task WHERE ROW = "xxxx1";である場合、値が16進数文字列に置き換えられたステートメントはSELECT * FROM task WHERE ROW = "7878787831";です。
[実行] をクリックします。