如何创建 2+ HBase 表?

How can I create 2+ HBase tables?

我正在尝试创建 2 个 HBase table,但 运行 遇到了一些问题。这是我到目前为止所拥有的。 table 未正确创建。我能在网上找到的唯一教程和帮助是关于创建一个 HBase table 而不是 2+ HBase table。

更新:

我设法编写了一些有效的代码,并正确插入了 2 table 列。我正在使用 Cloudera CDH5 Hadoop 发行版。

这是一个示例 class,它创建了一个 table 列族:

 public class HBaseOps {

    public static void createTable(Connection conn, String tableName, String... families) throws IOException {

        Admin admin = conn.getAdmin();
        HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf(tableName));

        for(String family : families) {
            tableDescriptor.addFamily(new HColumnDescriptor(family));
        }
        admin.createTable(tableDescriptor);
    }
}

您可以调用上面的代码来创建 tables:

    //Connect to hbase
    Configuration config = HBaseConfiguration.create();
    Connection connection = ConnectionFactory.createConnection(config);

    //Create table
    final String TABLE1 = "table1";
    final String FAMILY1 = "family1";
    final String FAMILY2 = "family2";
    HBaseOps.createTable(connection, TABLE1, FAMILY1, FAMILY2);

    //Create table
    final String TABLE2 = "table2";
    final String FAMILY3 = "family3";
    final String FAMILY4 = "family4";
    HBaseOps.createTable(connection, TABLE2, FAMILY3, FAMILY4);

您可以在我的 github 中找到完整示例: Full Code on Github 我使用 hbase shell 进行了测试,table 已正确创建。