使用HBase Shell启用表
启用表的语法:
enable'emp '
示例
以下是启用表的示例.
hbase(main):005:0> enable 'emp'0 row(s) in 0.4580 seconds
验证
启用表后,扫描一下.如果您可以看到架构,则表已成功启用.
hbase(main):006:0> scan 'emp' ROW COLUMN + CELL1 column = personal data:city, timestamp = 1417516501, value = hyderabad1 column = personal data:name, timestamp = 1417525058, value = ramu1 column = professional data:designation, timestamp = 1417532601, value = manager1 column = professional data:salary, timestamp = 1417524244109, value = 500002 column = personal data:city, timestamp = 1417524574905, value = chennai2 column = personal data:name, timestamp = 1417524556125, value = ravi2 column = professional data:designation, timestamp = 14175292204, value = sr:engg2 column = professional data:salary, timestamp = 1417524604221, value = 30000 3 column = personal data:city, timestamp = 1417524681780, value = delhi3 column = personal data:name, timestamp = 1417524672067, value = rajesh3 column = professional data:designation, timestamp = 14175246987, value = jr:engg3 column = professional data:salary, timestamp = 1417524702514, value = 250003 row(s) in 0.0400 seconds
is_enabled
此命令用于查找是否启用了表.其语法如下:
hbase> is_enabled 'table name'
以下代码验证是否启用了名为 \\ temp \\/b>的表.如果它被启用,它将返回true,否则,它将返回false.
hbase(main):031:0> is_enabled 'emp'true0 row(s) in 0.0440 seconds
使用Java API启用表
要验证表是否已启用,请使用 isTableEnabled()方法;并启用表,使用 enableTable()方法.这些方法属于 HBaseAdmin 类.按照下面给出的步骤启用表格.
Step1
实例化 HBaseAdmin 类,如下所示.
//创建配置对象配置conf = HBaseConfiguration.create(); //创建HBaseAdmin对象 HBaseAdmin admin = new HBaseAdmin(conf);
步骤2
验证是否使用 isTableEnabled()方法启用了表格如下所示.
Boolean bool = admin.isTableEnabled("emp");
第3步
如果表未被禁用,请将其禁用,如下所示.
if(!bool){ admin.enableTable("emp"); System.out.println("Table enabled");}
以下是验证表是否已启用的完整程序,如果不是,则启用它.
import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.MasterNotRunningException;import org.apache.hadoop.hbase.client.HBaseAdmin;public class EnableTable{ public static void main(String args[]) throws MasterNotRunningException, IOException{ // Instantiating configuration class Configuration conf = HBaseConfiguration.create(); // Instantiating HBaseAdmin class HBaseAdmin admin = new HBaseAdmin(conf); // Verifying whether the table is disabled Boolean bool = admin.isTableEnabled("emp"); System.out.println(bool); // Enabling the table using HBaseAdmin object if(!bool){ admin.enableTable("emp"); System.out.println("Table Enabled"); } }}
编译并执行上述程序,如下所示.
$javac EnableTable.java$java EnableTable
以下应该是输出:
falseTable Enabled