大象教程
首页
Spark
Hadoop
HDFS
MapReduce
Hive
HBase 教程
HBase 教程
HBase 体系结构
HBase 安装
HBase Shell
HBase 通用命令
HBase 管理员 API
HBase 创建表
HBase 列出表
HBase 禁用表
HBase 启用表
HBase 表描述和更改
HBase 验证表是否存在(exist命令)
HBase 删除表
HBase 关闭
HBase 客户端 API
HBase 创建(插入)数据
HBase 更新数据
HBase 读取数据
HBase 删除数据
HBase 扫描(scan)
HBase 计数(count)和截断(truncate)
HBase 安全
#HBase 启用表 ##使用HBase Shell 启用表 要删除表或更改其设置,您需要首先使用enable命令启用该表。您可以使用enable命令重新启用它。 以下是 启用表的语法: ```bash enable 'emp' ``` 下面给出的示例显示了如何启用表。 ```bash hbase(main):025:0> enable 'emp' 0 row(s) in 1.2760 seconds ``` 启用表格后,对其进行扫描。如果可以看到架构,则表已成功启用。 ```bash hbase(main):006:0> scan 'emp' ROW COLUMN + CELL 1 column = personal data:city, timestamp = 1417516501, value = hyderabad 1 column = personal data:name, timestamp = 1417525058, value = ramu 1 column = professional data:designation, timestamp = 1417532601, value = manager 1 column = professional data:salary, timestamp = 1417524244109, value = 50000 2 column = personal data:city, timestamp = 1417524574905, value = chennai 2 column = personal data:name, timestamp = 1417524556125, value = ravi 2 column = professional data:designation, timestamp = 14175292204, value = sr:engg 2 column = professional data:salary, timestamp = 1417524604221, value = 30000 3 column = personal data:city, timestamp = 1417524681780, value = delhi 3 column = personal data:name, timestamp = 1417524672067, value = rajesh 3 column = professional data:designation, timestamp = 14175246987, value = jr:engg 3 column = professional data:salary, timestamp = 1417524702514, value = 25000 3 row(s) in 0.0400 seconds ``` ###is_enabled 此命令用于查找是否启用了表。其语法如下。 ```bash hbase> is_enabled 'table name' 下面的示例验证是否启用了名为emp的表。如果启用,它将返回`true`,否则将返回`false`。 ```bash hbase(main):031:0> is_enabled 'emp' true 0 row(s) in 0.0440 seconds ``` ##使用Java API 启用表 要验证是否启用了表,请使用`isTableEnabled()`方法;要 启用表,请使用`enableTable()`方法。这些方法属于Admin类。请按照下面给出的步骤 启用表。 ###第1步 获得Admin类,如下所示。 ```java // Instantiating configuration class Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); // Instantiating Admin class Admin admin = null; admin = connection.getAdmin(); ``` ###第2步 使用`isTableEnabled()`方法验证是否启用了该表,如下所示。 ```java Boolean isEnabled = admin.isTableEnabled(TableName.valueOf("emp")); ``` ###第3步 如果未启用该表,请如下所示将其启用。 ```java if(!isEnabled) { admin.enableTable(TableName.valueOf("emp")); System.out.println("Table enabled"); } ``` 下面给出的是验证表是否已启用的完整程序;如果没有,如何启用它。 ```java import java.io.IOException; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.conf.Configuration; public class CreateTable { public static void main(String[] args) throws IOException { try { // Instantiating configuration class Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); // Instantiating Admin class Admin admin = null; admin = connection.getAdmin(); Boolean isEnabled = admin.isTableEnabled(TableName.valueOf("emp")); System.out.println(isEnabled); if(!isEnabled) { admin.enableTable(TableName.valueOf("emp")); System.out.println("Table enabled"); } } catch (Exception e) { System.out.println(e.getMessage()); } } } ``` 编译并执行上述程序,如下所示。 ```bash $javac EnableTable.java $java EnableTable ``` 以下应该是输出: ``` false Table enabled ```
加我微信交流吧