Google Cloud Bigtable 模拟器似乎删除了列族

Google Cloud Bigtable emulator seems to drop column families

我正在尝试创建一个具有单个列族的 table(针对使用 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.");
    }
}

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

我是不是遗漏了什么或者是模拟器的限制?

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

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