java - Google Cloud Bigtable 模拟器似乎放弃了列族

标签 java emulation google-cloud-bigtable

我正在尝试创建一个具有单列族的表(针对使用 Java 客户端库 0.9.1 的 Google Cloud Bigtable 模拟器)。

private void setupTable() throws IOException {

    TableName name = TableName.valueOf("EndOfDayPriceUnadjusted");
    try(Connection connection = BigtableConfiguration.connect(hbaseConf)){
        HTableDescriptor descriptor = new HTableDescriptor(name);
        descriptor.addFamily(new HColumnDescriptor("EOD"));

        connection.getAdmin().createTable(descriptor);
        // calling HTableDescriptor  desc = connection.getAdmin().getTableDescriptor(name); yields the same result
        Table t = connection.getTable(name);
        if(t.getTableDescriptor().getColumnFamilies().length == 0)
            log.error("no column families.");
        else
            log.info("table with column family created.");
    }
}

我的问题是,创建表后,检索到的描述符永远不包含 EOD 系列;因此,任何在该列族中存储数据的调用都会失败。

我错过了什么还是模拟器的限制?

最佳答案

在修复错误之前,您可以使用特定于模拟器的解决方法,即在创建表后添加列族:

connector.getAdmin().addColumn(
    descriptor.getTableName(), new HColumnDescriptor("EOD"));

关于java - Google Cloud Bigtable 模拟器似乎放弃了列族,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38648598/

相关文章:

emulation - 在 Windows Phone 8 模拟器中模拟捏合手势

java - 标准(非灵活)Google App Engine 是否支持 Google Cloud Bigtable?

django - 如何扩展聊天应用程序数据库?

java - Google Cloud Bigtable 客户端连接池

java - 如何使用未知节点将 Firebase 数据库中的值显示到 Firebase 回收 View ?

java - 将(BST 的)迭代层序遍历转换为递归实现

hex - 如何处理 "impossible"Chip-8指令

java - 为 Java 应用程序运行数据库迁移

java - Maven Java GAE编译错误

c# - MS Bot 框架模拟器更改用户 ID