HBase-リストテーブル
HBaseシェルを使用したテーブルの一覧表示
listは、HBase内のすべてのテーブルを一覧表示するために使用されるコマンドです。以下に、listコマンドの構文を示します。
hbase(main):001:0 > list
このコマンドを入力してHBaseプロンプトで実行すると、以下に示すように、HBase内のすべてのテーブルのリストが表示されます。
hbase(main):001:0> list
TABLE
emp
ここでは、empという名前のテーブルを確認できます。
JavaAPIを使用したテーブルの一覧表示
以下の手順に従って、JavaAPIを使用してHBaseからテーブルのリストを取得します。
ステップ1
あなたはというメソッドを持っています listTables() クラスで HBaseAdminHBase内のすべてのテーブルのリストを取得します。このメソッドは、HTableDescriptor オブジェクト。
//creating a configuration object
Configuration conf = HBaseConfiguration.create();
//Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);
//Getting all the list of tables using HBaseAdmin object
HTableDescriptor[] tableDescriptor = admin.listTables();
ステップ2
あなたはの長さを得ることができます HTableDescriptor[] の長さ変数を使用した配列 HTableDescriptorクラス。を使用して、このオブジェクトからテーブルの名前を取得しますgetNameAsString()方法。これらを使用して「for」ループを実行し、HBaseのテーブルのリストを取得します。
以下に示すのは、JavaAPIを使用してHBaseのすべてのテーブルを一覧表示するプログラムです。
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
public class ListTables {
public static void main(String args[])throws MasterNotRunningException, IOException{
// Instantiating a configuration class
Configuration conf = HBaseConfiguration.create();
// Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf);
// Getting all the list of tables using HBaseAdmin object
HTableDescriptor[] tableDescriptor = admin.listTables();
// printing all the table names.
for (int i=0; i<tableDescriptor.length;i++ ){
System.out.println(tableDescriptor[i].getNameAsString());
}
}
}
上記のプログラムを以下のようにコンパイルして実行します。
$javac ListTables.java
$java ListTables
以下が出力になります。
User
emp