Aquí hay una muestra de la situación que estoy enfrentando. Decir que tengo esta familia columna:Consultando columnas CompositeType en Cassandra usando Hector
create column family CompositeTypeCF
with comparator = 'CompositeType(IntegerType,UTF8Type)'
and key_validation_class = 'UTF8Type'
and default_validation_class = 'UTF8Type'
He aquí algunos ejemplos de código Java con Héctor en cuanto a cómo me gustaría ir sobre la inserción de algunos datos en esta familia la columna:
Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "192.168.1.6:9160");
Keyspace keyspaceOperator = HFactory.createKeyspace("CompositeTesting", cluster);
Composite colKey1 = new Composite();
colKey1.addComponent(1, IntegerSerializer.get());
colKey1.addComponent("test1", StringSerializer.get());
Mutator<String> mutator = HFactory.createMutator(keyspaceOperator, StringSerializer.get());
Mutator<String> addInsertion = mutator.addInsertion("rowkey1", "CompositeTypeCF",
HFactory.createColumn(colKey1, "Some Data", new CompositeSerializer(), StringSerializer.get()));
mutator.execute();
esto funciona, y si ir a la cassandra-CLI y hacer una lista me sale esto:
$ list CompositeTypeCF;
Using default limit of 100
-------------------
RowKey: rowkey1
=> (column=1:test1, value=Some Data, timestamp=1326916937547000)
Mi pregunta ahora es: ¿Cómo hago para consultar estos datos en Hector? Básicamente que tendría que consultar en algunas de las formas:
- Dame toda la fila en la fila de clave = "rowkey1"
- Dame los datos de columna en la primera parte del nombre de columna = algún valor entero
- Dame todas las columnas en las que la primera parte del nombre de la columna se encuentra dentro de un cierto rango
¿Puede explicar por qué necesitamos GREATER_THAN_EQUAL en el último componente? Revisé el artículo, pero las cosas aún no están claras. –
¡He formulado esta pregunta por separado para que pueda recompensarlos! –
No sé, experimenté con un código de muestra para convencerme de que funcionaba para lo que necesitaba. – libjack