5
Ho una famiglia di colonna AllLog
creare cheInserire famiglia colonna cassandra con composito chiave
create column family LogData
with column_type = 'Standard'
and comparator = 'CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type)'
and default_validation_class = 'UTF8Type'
and key_validation_class = 'CompositeType(UTF8Type,UTF8Type)';
ma quando uso mutator inserire:
String key0 = "key0";
String key1 = "key1";
Composite compositeKey = new Composite();
compositeKey.addComponent(key0, StringSerializer.get());
compositeKey.addComponent(key1, StringSerializer.get());
// add
mutator.addInsertion(compositeKey, columnFamilyName, HFactory.createColumn("name", "value"));
mutator.execute();
sempre attraverso eccezione:
me.prettyprint.hector.api.exceptions.HInvalidRequestException:
InvalidRequestException(why:Not enough bytes to read value of component 0)
Per favore qualcuno mi aiuti, dov'è il mio errore in questo codice?
sì lo so, ma mi chiedo che: ho qualche soluzione che posso creare una tabella con una chiave composita e la colonna di altri è utilizzare il tipo UTF8 ???? lo provo in cql3 è okie ma in hector, non posso inserire dati in tale tabella :(:( –
Non sono sicuro di cosa stai chiedendo qui ... con lo schema specificato, dovresti aggiornare il codice in modo che createColumn usi un Nome composto, altrimenti rivedere lo schema per rendere il comparatore utf8. – libjack