Ich versuche, eine Tabelle mit einer einzelnen Spaltenfamilie zu erstellen (Ausrichtung auf den Google Cloud Bigtable-Emulator mithilfe der Java-Clientbibliothek 0.9.1).Google Cloud Bigtable-Emulator scheint Spaltenfamilien zu löschen
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.");
}
}
Mein Problem ist, dass die Tabelle nach der Erstellung, der abgerufene Descriptor nie die EOD
Familie enthält; Daher schlagen alle Aufrufe zum Speichern von Daten in dieser Spaltenfamilie fehl.
Fehle ich etwas oder ist es eine Einschränkung des Emulators?
Dieses Problem mit dem Emulator ist. Wir arbeiten daran, es zu reparieren. –
Dieser Fehler wurde in den letzten Versionen des Emulators behoben: https://cloud.google.com/bigtable/docs/emulator –