簡體   English   中英

Google Cloud Bigtable模擬器似乎刪除了列族

[英]Google Cloud Bigtable emulator seems to drop column families

我正在嘗試創建一個具有單列族的表(使用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"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM