日期:2014-05-16  浏览次数:20483 次

Cassandra学习笔记1

所用版本 Cassandra 1.0

简单的增删改java测试代码:

import java.nio.ByteBuffer;
import org.apache.cassandra.thrift.*;
import org.apache.cassandra.thrift.TBinaryProtocol;
import org.apache.thrift.protocol.*;
import org.apache.thrift.transport.*;

public class Test {
	public static void main(String[] args) throws Exception {
//		insertOrUpdateData(); //增加或者修改 
		getData();    //查询
//		delete();     //删除
		
	}
	
	public static void insertOrUpdateData() throws Exception{
		TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
		TProtocol protocol = new TBinaryProtocol(transport);
		Cassandra.Client client = new Cassandra.Client(protocol);
		transport.open();
		 
		client.set_keyspace("ksTest1");
		ColumnParent parent = new ColumnParent("User1");
		
		ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());
		
		Column column = new Column();
		column.setName("description2".getBytes());
		
		column.setValue("some value here222...".getBytes());
		column.setTimestamp(System.currentTimeMillis());
		client.insert(rowid, parent, column, ConsistencyLevel.ONE);
		
		transport.flush();
		transport.close();
		
		
	}
	
	public static void getData() throws Exception{
		TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
		TProtocol protocol = new TBinaryProtocol(transport);
		Cassandra.Client client = new Cassandra.Client(protocol);
		transport.open();
		 
		client.set_keyspace("ksTest1");
		ColumnParent parent = new ColumnParent("User1");
		
		ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());
		
		Column column = new Column();
		column.setName("description".getBytes());
		
		ColumnPath path = new ColumnPath();
        path.column_family = "User1";
        path.column = ByteBuffer.wrap("description".getBytes());
		
		ColumnOrSuperColumn c1 = client.get(rowid, path, ConsistencyLevel.ONE) ;
		String res = new String(c1.getColumn().getValue(),"UTF-8");
		
		System.out.println(res);
		transport.flush();
		transport.close();
	} 
	
	
	public static void delete() throws Exception{
	       // open connection to Cassandra server
		TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
        TProtocol protocol = new TBinaryProtocol(transport);
        Cassandra.Client client = new Cassandra.Client(protocol);
        transport.open();

        // specify keyspace
        client.set_keyspace("ksTest1");

        // specify row id
        ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());

        // specify column path
        ColumnPath path = new ColumnPath();
        path.column_family = "User1";
        path.column = ByteBuffer.wrap("description2".getBytes());

        // specify timestamp value of data to be removed
        long timestamp = 1301874610643000L;

        // set consistency level to one
        ConsistencyLevel consistency = ConsistencyLevel.ONE;

        // remove the description column from the specified row
        // in the User column family
        client.remove(rowid, path, timestamp, consistency);

        // release resources
        transport.flush();
        transport.close();
	} 
}

?