5
tengo una familia de columnas AllLog
cree queInsertar familia de columnas Cassandra con composite clave
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)';
pero cuando se utiliza mutador para insertar:
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();
siempre a través de excepción:
me.prettyprint.hector.api.exceptions.HInvalidRequestException:
InvalidRequestException(why:Not enough bytes to read value of component 0)
Por favor, alguien me ayude, ¿dónde está mi error en este código?
sí, lo sé, pero me pregunto: ¿tengo alguna solución que pueda crear una tabla con una clave compuesta y otra columna es de tipo UTF8? Lo intento en cql3 es okie pero en hector, no puedo insertar datos en dicha tabla :(:( –
No estoy seguro de lo que está preguntando aquí ... con el esquema especificado, debe actualizar el código para que createColumn use una Nombre compuesto, más revise el esquema para hacer que el comparador utf8. – libjack