cassandra + hector

来源:互联网 发布:淘宝内部券怎么找 编辑:程序博客网 时间:2024/05/25 18:12

cassandra 0.8比0.7 结构变了

 

资料不太好找。CLI的命令输入完了还要打分号结束。

 

hector是个不错的client,比Thrift要舒服的多~!

 

发个例子:

修改ColumnFamily:

  ThriftCfDef columnFamilyDefinition = new ThriftCfDef("s3","bb",ComparatorType.UTF8TYPE);
        columnFamilyDefinition.setKeyValidationClass("org.apache.cassandra.db.marshal.UTF8Type");
        columnFamilyDefinition.setDefaultValidationClass("org.apache.cassandra.db.marshal.UTF8Type");
        //myCluster.addColumnFamily(columnFamilyDefinition) ;
       columnFamilyDefinition.setId(1013);
        myCluster.updateColumnFamily(columnFamilyDefinition);

 

插入记录

 Keyspace myKeyspace = HFactory.createKeyspace("s3", myCluster);
        Mutator<String> mutator = HFactory.createMutator(myKeyspace, StringSerializer.get());
    mutator.insert("a", "bb", HFactory.createStringColumn("column1", "你好在"));//参数分别是rowkey, columnFamily,  columnName ,value

 

 

结果:

[default@s3] list bb;
Using default limit of 100
-------------------
RowKey: a
=> (column=column1, value=你好在, timestamp=1311095860626000)
-------------------
RowKey: aa
=> (column=c, value=abcccc, timestamp=1311096453992000)
-------------------
RowKey: b
=> (column=column1, value=你好在, timestamp=1311096153990000)

 

 

 

查询:

// Create a query
ColumnQuery q = HFactory.createColumnQuery(myKeyspace,  StringSerializer.get(),  StringSerializer.get(), StringSerializer.get());
// set key, name, cf and execute
QueryResult<HColumn> r = q
        .setColumnFamily("bb")
        .setKey("b")
        .setName("column1")
        .execute();
// read value from the result
HColumn<String,String> c = r.get();
String value = c.getValue();
System.out.println(value);

 

 

原创粉丝点击