元ドキュメント: HBase 互換性
HBase 互換性
サポートされるデータ型
TDSQL Boundless(HBase 互換モード)がサポートするデータ型は以下の通りです:
| # | データ型 | 名称 | 例 | 説明 |
|---|---|---|---|---|
| 1 | String | 文字列データ | "Hello TDSQL World!" | — |
| 2 | Integer | 整数データ | 12345 | 境界値:Integer.MAX_VALUE、Integer.MIN_VALUE |
| 3 | Long | 長整数データ | 9876543210L | 境界値:Long.MAX_VALUE、Long.MIN_VALUE |
| 4 | Double | 倍精度浮動小数点数 | 3.141592654 | 境界値:Double.MAX_VALUE、Double.POSITIVE_INFINITY、Double.NaN |
| 5 | Float | 単精度浮動小数点数 | 2.71828f | 境界値:Float.MAX_VALUE、Float.POSITIVE_INFINITY、Float.NaN |
| 6 | Boolean | ブール値 | TRUE | — |
| 7 | Short | 短整数 | 32767 | — |
| 8 | Byte | バイトデータ | 127 | — |
| 9 | Binary Data | バイナリデータ | — | |
| 10 | ASCII Data | ASCII エンコードデータ | {0x48, 0x65, 0x6C, 0x6C, 0x6F} (Hello) | — |
| 11 | Empty Data | 空データ | {} | — |
| 12 | List | リスト型 | ["product_001", "product_002", "product_003", "product_002"] | — |
| 13 | Set | セット型 | [1001, 1002, 1003, 1004, 1005] | — |
| 14 | Text | テキスト型 | — | — |
| 15 | Sparse String | スパース文字列 | — | HBase: スパースな文字列データの格納に使用。ストレージ容量を節約可能 |
| 16 | Sparse Binary | スパースバイト配列 | — | HBase: スパースなバイナリデータの格納に使用。ストレージ容量を節約可能 |
インターフェース互換性
HTable インターフェース
TDSQL Boundless HBase-Client クライアントは HTableInterface インターフェースを実装しています。各インターフェースの互換性は以下の通りです:
| # | 修飾子と型 | メソッドと説明 | TDSQL Boundless の互換性 |
|---|---|---|---|
| 1 | Result | append(Append append) | 対応 |
| 2 | Object[] | batch(List<? extends Row> actions) — batch(List, Object[]) と同様ですが、結果パラメータ参照の代わりに結果配列を返します | 対応 |
| 3 | void | batch(List<? extends Row> actions, Object[] results) — Deletes、Gets、Puts、Increments、Appends、RowMutations をバッチ実行するメソッド | 対応 |
| 4 | boolean | checkAndDelete(byte[] row, byte[] family, byte[] qualifier, byte[] value, Delete delete) — 行/カラムファミリ/カラム修飾子の値が期待値と一致するかアトミックにチェック | 非対応 |
| 5 | boolean | checkAndPut(byte[] row, byte[] family, byte[] qualifier, byte[] value, Put put) — 行/カラムファミリ/カラム修飾子の値が期待値と一致するかアトミックにチェック | 非対応 |
| 6 | void | close() — 保持しているすべてのリソースを解放、または内部バッファの保留中の変更を破棄 | 対応 |
| 7 | <T extends CoprocessorProtocol,R>Map<byte[],R> | coprocessorExec(Class protocol, byte[] startKey, byte[] endKey, Batch.Call<T,R> callable) — 選択されたリージョンの CoprocessorProtocol インスタンスで渡された Batch.Call を呼び出し | 非対応 |
| 8 | <T extends CoprocessorProtocol,R> void | coprocessorExec(Class protocol, byte[] startKey, byte[] endKey, Batch.Call<T,R> callable, Batch.Callback callback) — 選択されたリージョンの CoprocessorProtocol インスタンスで Batch.Call を呼び出し、コールバックで結果を処理 | 非対応 |
| 9 | <T extends CoprocessorProtocol> T | coprocessorProxy(Class protocol, byte[] row) — 指定された行を含むリージョンの CoprocessorProtocol インスタンスにアクセスするためのプロキシを作成して返す | 非対応 |
| 10 | void | delete(Delete delete) — 指定されたセルまたは行を削除 | 対応 |
| 11 | void | delete(List<Delete> deletes) — 指定されたセルまたは行をバッチ削除 | 対応 |
| 12 | boolean | exists(Get get) — テーブルに Get で指定されたカラムが存在するかチェック | 対応 |
| 13 | void | flushCommits() — バッファに格納されたすべての Put 操作を実行 | 非対応 |
| 14 | Result | get(Get get) — 指定された行から特定のセルを取得 | 対応 |
| 15 | Result[] | get(List<Get> gets) — 指定された行から特定のセルをバッチ取得 | 対応 |
| 16 | org.apache.hadoop.conf.Configuration | getConfiguration() — 現在のインスタンスが使用する Configuration オブジェクトを返す | 対応 |
| 17 | ResultScanner | getScanner(byte[] family) — 現在のテーブルの指定されたカラムファミリのスキャナーを取得 | 対応 |
| 18 | ResultScanner | getScanner(byte[] family, byte[] qualifier) — 現在のテーブルの指定されたカラムファミリとカラム修飾子のスキャナーを取得 | 対応 |
| 19 | ResultScanner | getScanner(Scan scan) — Scan オブジェクトに基づいて現在のテーブルのスキャナーを返す | 対応 |
| 20 | HTableDescriptor | getTableDescriptor() — 現在のテーブルの table descriptor を取得 | 非対応 |
| 21 | byte[] | getTableName() — 現在のテーブルの名前を取得 | 非対応 |
| 22 | long | getWriteBufferSize() — 現在のテーブルの書き込みバッファの最大サイズ(バイト単位)を返す | 非対応 |
| 23 | Result | increment(Increment increment) — 単一行内の1つまたは複数のカラムの値をインクリメント | 対応 |
| 24 | long | incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount) — 指定されたカラムの値をアトミックにインクリメント | 対応 |
| 25 | long | incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount, Durability durability) — 指定されたカラムの値をアトミックにインクリメント | 非対応 |
| 26 | boolean | isAutoFlush() — 「自動フラッシュ」機能が有効かどうかをチェック | 非対応 |
| 27 | void | mutateRow(RowMutations rm) — 単一行に対して複数のアトミックなミューテーション操作を実行 | 対応 |
| 28 | void | put(List<Put> puts) — テーブルにデータをバッチ挿入 | 対応 |
| 29 | void | put(Put put) — テーブルにデータを挿入 | 対応 |
| 30 | void | setAutoFlush(boolean autoFlush) — setAutoFlush(boolean, boolean) を参照 | 非対応 |
| 31 | void | setAutoFlush(boolean autoFlush, boolean clearBufferOnFail) — 「自動フラッシュ」機能の有効化/無効化と、失敗時のバッファクリアオプション | 非対応 |
| 32 | void | setWriteBufferSize(long writeBufferSize) — バッファサイズ(バイト単位)を設定 | 非対応 |
Admin インターフェース
TDSQL Boundless HBase-Client クライアントは Admin インターフェースを実装しています。各インターフェースの互換性は以下の通りです:
| # | 修飾子と型 | メソッドと説明 | TDSQL Boundless の互換性 |
|---|---|---|---|
| 1 | void | addColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) — 既存テーブルにカラムファミリを追加 | 非対応 |
| 2 | void | createTable(TableDescriptor desc) — 新しいテーブルを作成 | 対応 |
| 3 | void | deleteColumnFamily(TableName tableName, byte[] columnFamily) — テーブルからカラムファミリを削除 | 非対応 |
| 4 | void | deleteTable(TableName tableName) — テーブルを削除 | 対応 |
| 5 | void | disableTable(TableName tableName) — テーブルを無効化し完了を待機 | 対応 |
| 6 | void | enableTable(TableName tableName) — テーブルを有効化 | 対応 |
| 7 | org.apache.hadoop.conf.Configuration | getConfiguration() — インスタンスが使用する設定を返す | 対応 |
| 8 | Connection | getConnection() — このオブジェクトが使用する接続を返す | 対応 |
| 9 | TableDescriptor | getDescriptor(TableName tableName) — テーブルディスクリプタを取得 | 対応 |
| 10 | boolean | isTableDisabled(TableName tableName) — テーブルが無効かどうかをチェック | 対応 |
| 11 | boolean | isTableEnabled(TableName tableName) — テーブルが有効かどうかをチェック | 対応 |
| 12 | List<TableDescriptor> | listTableDescriptors(List<TableName> tableNames) — テーブルディスクリプタのリストを取得 | 対応 |
| 13 | List<TableDescriptor> | listTableDescriptors(Pattern pattern) — 指定パターンに一致するすべてのユーザー空間テーブルを一覧表示 | 対応 |
| 14 | TableName[] | listTableNames() — すべてのユーザー空間テーブルの名前を一覧表示 | 対応 |
| 15 | void | majorCompact(TableName tableName) — テーブルのメジャーコンパクション | 非対応 |
| 16 | void | majorCompact(TableName tableName, byte[] columnFamily) — テーブル内のカラムファミリのメジャーコンパクション | 非対応 |
| 17 | void | modifyColumnFamily(TableName tableName, ColumnFamilyDescriptor columnFamily) — テーブル内の既存カラムファミリを変更 | 対応 |
| 18 | void | modifyTable(TableDescriptor td) — 既存テーブルを変更(より IRB フレンドリーなバージョン) | 対応 |
| 19 | boolean | tableExists(TableName tableName) — テーブルが存在するかチェック | 対応 |
| 20 | void | truncateTable(TableName tableName) — テーブルをトランケート | 対応 |