Hbase-describe-and-alter
HBase-説明と変更
記述する
このコマンドは、テーブルの説明を返します。 その構文は次のとおりです。
以下に、 emp テーブルでのdescribeコマンドの出力を示します。
変える
Alterは、既存のテーブルに変更を加えるために使用されるコマンドです。 このコマンドを使用すると、列ファミリのセルの最大数を変更したり、テーブルスコープ演算子を設定および削除したり、テーブルから列ファミリを削除したりできます。
列ファミリのセルの最大数の変更
以下は、列ファミリのセルの最大数を変更する構文です。
次の例では、セルの最大数は5に設定されています。
テーブルスコープ演算子
alterを使用すると、MAX_FILESIZE、READONLY、MEMSTORE_FLUSHSIZE、DEFERRED_LOG_FLUSHなどのテーブルスコープ演算子を設定および削除できます。
読み取り専用の設定
以下は、テーブルを読み取り専用にする構文です。
次の例では、 emp テーブルを読み取り専用にしました。
テーブルスコープ演算子の削除
テーブルスコープ演算子を削除することもできます。 以下は、empテーブルから「MAX_FILESIZE」を削除する構文です。
列ファミリーの削除
alterを使用して、列ファミリを削除することもできます。 以下に、alterを使用して列ファミリを削除する構文を示します。
以下は、「emp」テーブルから列ファミリを削除する例です。
HBaseにemployeeという名前のテーブルがあると仮定します。 次のデータが含まれます。
次に、alterコマンドを使用して professional という名前の列ファミリを削除します。
変更後、テーブル内のデータを確認します。 コラムファミリ「professional」は削除されているため、もはや存在しません。
Java APIを使用した列ファミリの追加
ステップ1
ステップ2
- addColumn()メソッドには、テーブル名と *HColumnDescriptor クラスのオブジェクトが必要です。 したがって、 HColumnDescriptor クラスをインスタンス化します。 また、 HColumnDescriptor のコンストラクターには、追加する列ファミリ名が必要です。 ここでは、「contactDetails」という名前の列ファミリを既存の「employee」テーブルに追加しています。
ステップ3
以下は、既存のテーブルに列ファミリを追加するための完全なプログラムです。
以下に示すように、上記のプログラムをコンパイルして実行します。
上記のコンパイルは、「 .bashrc 」でクラスパスを設定した場合にのみ機能します。 そうでない場合は、以下の手順に従って.javaファイルをコンパイルします。
すべてがうまくいけば、次の出力が生成されます。
Java APIを使用した列ファミリの削除
ステップ1
ステップ2
- deleteColumn()*メソッドを使用して列ファミリーを追加します。 テーブル名と列ファミリ名をパラメータとしてこのメソッドに渡します。
以下に、既存のテーブルから列ファミリを削除する完全なプログラムを示します。
以下に示すように、上記のプログラムをコンパイルして実行します。
出力は次のようになります。