1
|
1 package jp.ac.u_ryukyu.ie.cr.bbs.local;
|
|
2
|
|
3 import me.prettyprint.cassandra.serializers.StringSerializer;
|
|
4 import me.prettyprint.cassandra.serializers.UUIDSerializer;
|
|
5 import me.prettyprint.cassandra.service.template.SuperCfUpdater;
|
|
6 import me.prettyprint.cassandra.service.template.ThriftSuperCfTemplate;
|
|
7 import me.prettyprint.cassandra.utils.TimeUUIDUtils;
|
4
|
8 import me.prettyprint.hector.api.Cluster;
|
|
9 import me.prettyprint.hector.api.Keyspace;
|
1
|
10 import me.prettyprint.hector.api.beans.*;
|
|
11 import me.prettyprint.hector.api.factory.HFactory;
|
|
12 import me.prettyprint.hector.api.query.QueryResult;
|
|
13 import me.prettyprint.hector.api.query.RangeSuperSlicesQuery;
|
|
14 import me.prettyprint.hector.api.query.SuperSliceQuery;
|
|
15
|
|
16 import java.util.List;
|
|
17 import java.util.UUID;
|
|
18
|
|
19 public class HectorSample
|
|
20 {
|
|
21 public static void main(String _args[])
|
|
22 {
|
|
23 Cluster myCluster = HFactory.getOrCreateCluster("test-cluster","localhost:9160");
|
|
24
|
|
25 Keyspace ksp = HFactory.createKeyspace("cassaBBS",myCluster);
|
4
|
26 /*
|
|
27 ColumnFamilyDefinition newCF = HFactory.createColumnFamilyDefinition("DEMO","ccc",ComparatorType.UUIDTYPE);
|
|
28 newCF.setColumnType(ColumnType.SUPER);
|
|
29 myCluster.addColumnFamily(newCF);
|
|
30 */
|
1
|
31
|
|
32 ThriftSuperCfTemplate<String,UUID,String> template =
|
|
33 new ThriftSuperCfTemplate<String,UUID,String>(ksp,"boards",StringSerializer.get(),
|
|
34 UUIDSerializer.get(),StringSerializer.get());
|
|
35 UUID time = TimeUUIDUtils.getUniqueTimeUUIDinMillis();
|
|
36 SuperCfUpdater<String,UUID,String> updater = template.createUpdater("board1",TimeUUIDUtils.getTimeUUID(0));
|
|
37 updater.setString("name","peter");
|
|
38 updater.setString("message",time.toString());
|
|
39
|
|
40 template.update(updater);
|
|
41
|
|
42 UUID start = TimeUUIDUtils.getTimeUUID(0);
|
|
43
|
|
44 SuperSliceQuery<String, UUID, String, String> sq = HFactory.createSuperSliceQuery(ksp, StringSerializer.get(), UUIDSerializer.get(), StringSerializer.get(), StringSerializer.get());
|
|
45 sq.setKey("board1").setColumnFamily("ccc").setRange(start,null,false,100);
|
|
46
|
|
47 QueryResult<SuperSlice<UUID,String,String>> results = sq.execute();
|
|
48
|
|
49 SuperSlice<UUID,String,String> ss = results.get();
|
|
50 List<HSuperColumn<UUID,String,String>> list = ss.getSuperColumns();
|
|
51 for(HSuperColumn<UUID,String,String> sc : list){
|
|
52 HColumn<String,String> sub = sc.getSubColumnByName("name");
|
|
53 System.out.println(sub.getValue());
|
|
54 sub = sc.getSubColumnByName("message");
|
|
55 System.out.println(sub.getValue());
|
|
56 }
|
|
57
|
|
58 RangeSuperSlicesQuery<String,UUID,String,String> rsq = HFactory.createRangeSuperSlicesQuery(ksp,StringSerializer.get(),
|
|
59 UUIDSerializer.get(),StringSerializer.get(),StringSerializer.get());
|
|
60 rsq.setKeys(null,null).setRange(null,null,false,0).setColumnFamily("ccc");
|
|
61
|
|
62 QueryResult<OrderedSuperRows<String,UUID,String,String>> rsqResult = rsq.execute();
|
|
63 OrderedSuperRows<String, UUID, String, String> rows = rsqResult.get();
|
|
64 for(SuperRow<String, UUID, String, String> row : rows.getList()){
|
|
65 System.out.println(row.getKey());
|
|
66 }
|
|
67 }
|
|
68 }
|