返回介绍

HBase 启用表

发布于 2024-06-23 16:37:45 字数 8548 浏览 0 评论 0 收藏 0

使用HBase Shell 启用表

要删除表或更改其设置,您需要首先使用enable命令启用该表。您可以使用enable命令重新启用它。

以下是 启用表的语法:

  1. enable 'emp'

下面给出的示例显示了如何启用表。

  1. hbase(main):025:0> enable 'emp'
  2. 0 row(s) in 1.2760 seconds

启用表格后,对其进行扫描。如果可以看到架构,则表已成功启用。

  1. hbase(main):006:0> scan 'emp'
  2. ROW COLUMN + CELL
  3. 1 column = personal data:city, timestamp = 1417516501, value = hyderabad
  4. 1 column = personal data:name, timestamp = 1417525058, value = ramu
  5. 1 column = professional data:designation, timestamp = 1417532601, value = manager
  6. 1 column = professional data:salary, timestamp = 1417524244109, value = 50000
  7. 2 column = personal data:city, timestamp = 1417524574905, value = chennai
  8. 2 column = personal data:name, timestamp = 1417524556125, value = ravi
  9. 2 column = professional data:designation, timestamp = 14175292204, value = sr:engg
  10. 2 column = professional data:salary, timestamp = 1417524604221, value = 30000
  11. 3 column = personal data:city, timestamp = 1417524681780, value = delhi
  12. 3 column = personal data:name, timestamp = 1417524672067, value = rajesh
  13. 3 column = professional data:designation, timestamp = 14175246987, value = jr:engg
  14. 3 column = professional data:salary, timestamp = 1417524702514, value = 25000
  15. 3 row(s) in 0.0400 seconds

is_enabled

此命令用于查找是否启用了表。其语法如下。

  1. hbase> is_enabled 'table name'
  2. 下面的示例验证是否启用了名为emp的表。如果启用,它将返回`true`,否则将返回`false`。
  3. ```bash
  4. hbase(main):031:0> is_enabled 'emp'
  5. true
  6. 0 row(s) in 0.0440 seconds

使用Java API 启用表

要验证是否启用了表,请使用isTableEnabled()方法;要 启用表,请使用enableTable()方法。这些方法属于Admin类。请按照下面给出的步骤 启用表。

第1步

获得Admin类,如下所示。

  1. // Instantiating configuration class
  2. Configuration config = HBaseConfiguration.create();
  3. Connection connection = ConnectionFactory.createConnection(config);
  4. // Instantiating Admin class
  5. Admin admin = null;
  6. admin = connection.getAdmin();

第2步

使用isTableEnabled()方法验证是否启用了该表,如下所示。

  1. Boolean isEnabled = admin.isTableEnabled(TableName.valueOf("emp"));

第3步

如果未启用该表,请如下所示将其启用。

  1. if(!isEnabled) {
  2. admin.enableTable(TableName.valueOf("emp"));
  3. System.out.println("Table enabled");
  4. }

下面给出的是验证表是否已启用的完整程序;如果没有,如何启用它。

  1. import java.io.IOException;
  2. import org.apache.hadoop.hbase.HBaseConfiguration;
  3. import org.apache.hadoop.hbase.TableName;
  4. import org.apache.hadoop.hbase.client.Connection;
  5. import org.apache.hadoop.hbase.client.ConnectionFactory;
  6. import org.apache.hadoop.hbase.client.Admin;
  7. import org.apache.hadoop.conf.Configuration;
  8. public class CreateTable {
  9. public static void main(String[] args) throws IOException {
  10. try {
  11. // Instantiating configuration class
  12. Configuration config = HBaseConfiguration.create();
  13. Connection connection = ConnectionFactory.createConnection(config);
  14. // Instantiating Admin class
  15. Admin admin = null;
  16. admin = connection.getAdmin();
  17. Boolean isEnabled = admin.isTableEnabled(TableName.valueOf("emp"));
  18. System.out.println(isEnabled);
  19. if(!isEnabled) {
  20. admin.enableTable(TableName.valueOf("emp"));
  21. System.out.println("Table enabled");
  22. }
  23. } catch (Exception e) {
  24. System.out.println(e.getMessage());
  25. }
  26. }
  27. }

编译并执行上述程序,如下所示。

  1. $javac EnableTable.java
  2. $java EnableTable

以下应该是输出:

  1. false
  2. Table enabled

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文