Search in sources :

Example 1 with Composite

use of me.prettyprint.hector.api.beans.Composite in project cassandra-tutorial by zznate.

the class StaticCompositeIndex method execute.

@Override
public ResultStatus execute() {
    Mutator<String> mutator = HFactory.createMutator(keyspace, stringSerializer);
    HColumnImpl<Composite, String> column = new HColumnImpl<Composite, String>(cs, stringSerializer);
    column.setClock(keyspace.createClock());
    Composite dc = new Composite();
    dc.add(0, "Austin");
    dc.add(1, 7516L);
    dc.add(2, 225L);
    column.setName(dc);
    column.setValue("TIME WARNER COMMUNICATIONS AXS OF AUSTIN, TX");
    mutator.addInsertion("TX:512", "StateNpaIndexStatic", column);
    column = new HColumnImpl<Composite, String>(cs, stringSerializer);
    column.setClock(keyspace.createClock());
    dc = new Composite();
    dc.add(0, "Austin");
    dc.add(1, 7516L);
    dc.add(2, 334L);
    column.setName(dc);
    column.setValue("TIME WARNER COMMUNICATIONS AXS OF AUSTIN, TX");
    mutator.addInsertion("TX:512", "StateNpaIndexStatic", column);
    column = new HColumnImpl<Composite, String>(cs, stringSerializer);
    column.setClock(keyspace.createClock());
    dc = new Composite();
    dc.add(0, "Austin");
    dc.add(1, 7516L);
    dc.add(2, 439L);
    column.setName(dc);
    column.setValue("TIME WARNER COMMUNICATIONS AXS OF AUSTIN, TX");
    mutator.addInsertion("TX:512", "StateNpaIndexStatic", column);
    column = new HColumnImpl<Composite, String>(cs, stringSerializer);
    column.setClock(keyspace.createClock());
    dc = new Composite();
    dc.add(0, "Austin");
    dc.add(1, 5830L);
    dc.add(2, 215L);
    column.setName(dc);
    column.setValue("TIME WARNER COMMUNICATIONS AXS OF AUSTIN, TX");
    mutator.addInsertion("TX:512", "StateNpaIndexStatic", column);
    column = new HColumnImpl<Composite, String>(cs, stringSerializer);
    column.setClock(keyspace.createClock());
    dc = new Composite();
    dc.add(0, "Aardvark");
    dc.add(1, 5830L);
    dc.add(2, 215L);
    column.setName(dc);
    column.setValue("Aardvark telco");
    mutator.addInsertion("TX:512", "StateNpaIndexStatic", column);
    column = new HColumnImpl<Composite, String>(cs, stringSerializer);
    column.setClock(keyspace.createClock());
    dc = new Composite();
    dc.add(0, "Lockhart");
    dc.add(1, 9533L);
    dc.add(2, 227L);
    column.setName(dc);
    column.setValue("SOUTHWESTERN BELL");
    mutator.addInsertion("TX:512", "StateNpaIndexStatic", column);
    mutator.execute();
    SliceQuery<String, Composite, String> sliceQuery = HFactory.createSliceQuery(keyspace, stringSerializer, cs, stringSerializer);
    sliceQuery.setColumnFamily("StateNpaIndexStatic");
    sliceQuery.setKey("TX:512");
    Composite startRange = new Composite();
    startRange.add(0, "A");
    //startRange.add(1, 7516L);
    //startRange.addComponent(new Long(0), LongSerializer.get(), "LongType", AbstractComposite.ComponentEquality.GREATER_THAN_EQUAL);
    //startRange.addComponent(439L, LongSerializer.get(), "LongType", AbstractComposite.ComponentEquality.EQUAL);
    //startRange.add(1, Long.MIN_VALUE);
    //startRange.add(2, 439L);
    Composite endRange = new Composite();
    //endRange.add(0, "Austin" + Character.MAX_VALUE);
    endRange.add(0, "B");
    // the following statement is effectively identical for the purposes of restricting to 'Austin'
    //endRange.addComponent("Austin", StringSerializer.get(), "UTF8Type", AbstractComposite.ComponentEquality.GREATER_THAN_EQUAL);
    sliceQuery.setRange(startRange, endRange, false, 10);
    QueryResult<ColumnSlice<Composite, String>> result = sliceQuery.execute();
    ColumnSlice<Composite, String> cs = result.get();
    for (HColumn<Composite, String> col : cs.getColumns()) {
        System.out.println(col.getName().getComponents());
        System.out.println(col.getName().get(0, StringSerializer.get()));
    }
    return result;
}
Also used : Composite(me.prettyprint.hector.api.beans.Composite) ColumnSlice(me.prettyprint.hector.api.beans.ColumnSlice) HColumnImpl(me.prettyprint.cassandra.model.HColumnImpl)

Example 2 with Composite

use of me.prettyprint.hector.api.beans.Composite in project cassandra-tutorial by zznate.

the class CompositeQuery method main.

public static void main(String[] args) {
    init();
    CompositeQuery compositeQuery = new CompositeQuery();
    // Note the use of 'equal' and 'greater-than-equal' for the start and end.
    // this has to be the case when we want all 
    Composite start = compositeFrom(startArg, Composite.ComponentEquality.EQUAL);
    Composite end = compositeFrom(startArg, Composite.ComponentEquality.GREATER_THAN_EQUAL);
    compositeQuery.printColumnsFor(start, end);
}
Also used : Composite(me.prettyprint.hector.api.beans.Composite)

Example 3 with Composite

use of me.prettyprint.hector.api.beans.Composite in project cassandra-tutorial by zznate.

the class CompositeQuery method compositeFrom.

/**
   * Encapsulates the creation of Composite to make it easier to experiment with values
   * 
   * @param componentName
   * @param equalityOp
   * @return
   */
public static Composite compositeFrom(String componentName, Composite.ComponentEquality equalityOp) {
    Composite composite = new Composite();
    composite.addComponent(0, componentName, equalityOp);
    return composite;
}
Also used : Composite(me.prettyprint.hector.api.beans.Composite)

Aggregations

Composite (me.prettyprint.hector.api.beans.Composite)3 HColumnImpl (me.prettyprint.cassandra.model.HColumnImpl)1 ColumnSlice (me.prettyprint.hector.api.beans.ColumnSlice)1