Запрос столбцов CompositeType в Cassandra с помощью Hector

Вот пример сценария, с которым я столкнулся. Скажем, у меня есть это семейство столбцов:

    create column family CompositeTypeCF 
    with comparator = 'CompositeType(IntegerType,UTF8Type)' 
    and key_validation_class = 'UTF8Type' 
    and default_validation_class = 'UTF8Type'

Вот пример кода Java с использованием Hector относительно того, как я буду вставлять некоторые данные в это семейство столбцов:

 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();

Это работает, и если я перейду к cassandra-cli и сделаю список, который я получаю:

$ list CompositeTypeCF;

Using default limit of 100
-------------------
RowKey: rowkey1
=> (column=1:test1, value=Some Data, timestamp=1326916937547000)

Теперь у меня такой вопрос: как мне запросить эти данные в Гекторе? В основном мне нужно было бы запросить его несколькими способами:

  1. Дайте мне всю строку, где Row Key = "rowkey1"
  2. Дайте мне данные столбца, где первая часть имени столбца = некоторое целочисленное значение
  3. Дайте мне все столбцы, в которых первая часть имени столбца находится в определенном диапазоне
13
задан BFree 18 January 2012 в 20:18
поделиться