当前位置: 代码迷 >> 其他数据库 >> 关于cassandra0.7.5的操作,该如何解决
  详细解决方案

关于cassandra0.7.5的操作,该如何解决

热度:2778   发布时间:2013-02-26 00:00:00.0
关于cassandra0.7.5的操作
 


import java.nio.ByteBuffer;

import org.apache.cassandra.thrift.Cassandra;
import org.apache.cassandra.thrift.Column;  
import org.apache.cassandra.thrift.ColumnPath;  
import org.apache.cassandra.thrift.ConsistencyLevel;  
import org.apache.cassandra.thrift.InvalidRequestException;  
import org.apache.cassandra.thrift.NotFoundException;  
import org.apache.cassandra.thrift.TimedOutException;  
import org.apache.cassandra.thrift.UnavailableException;  
import org.apache.thrift.TException;  
import org.apache.thrift.protocol.TBinaryProtocol;  
import org.apache.thrift.transport.TSocket;  
import org.apache.thrift.transport.TTransport;  
import org.apache.thrift.transport.TTransportException;  
  
  
 public class SampleOne {  
  static Cassandra.Client cassandraClient;  
  static TTransport socket;  
   
   
  private static void init() throws TTransportException {  
// String server = "192.168.1.129";  
  String server = "localhost";  
  int port = 9160;  
   
  /* 首先指定cassandra server的地址 */  
  socket = new TSocket(server, port);  
  System.out.println(" connected to " + server + ":" + port + ".");  
   
   
  /* 指定通信协议为二进制流协议 */  
  TBinaryProtocol binaryProtocol = new TBinaryProtocol(socket, false, false);  
  cassandraClient = new Cassandra.Client(binaryProtocol);  
   
   
  /* 建立通信连接 */  
  socket.open();  
  }  
   
   
  public static void main(String[] args) throws Exception {  
  /* 初始化连接 */  
  init();  
   
   
  /* 选择需要操作的Keyspaces, 可以理解成数据库的表 */  
  String keyspace= "test";  
  String row = "hh";  
   
  /* 创建一个Table Name */  
  String tableName = "table1";  
   
  /* 插入一条记录 */  
// insertOrUpdate(keyspace,tableName,row,"name","happy birthday!",System.currentTimeMillis());  
  /* 删除一条记录 */  
  //delete(keyspace,tableName,row,"name",System.currentTimeMillis());  
  /* 获取一条记录 (由于插入和删除是同一条记录,有可能会检索不到哦!请大家主意!*/  
  Column column = getByColumn(keyspace,tableName,row,"name", System.currentTimeMillis());  
  System.out.println("read row " + row);  
  System.out.println("column name " + ":" +column.name);  
  System.out.println("column value" + ":" + column.value);  
  System.out.println("column timestamp" + ":" + (column.timestamp));  
   
  close();  
  }  
   
  /**  
  * 获取数据  
  */  
  public static Column getByColumn(String tableSpace,String tableName, String rowParam,String ColumnName,long timeStamp)  
  throws TException, TimedOutException, InvalidRequestException, UnavailableException, NotFoundException{  
  相关解决方案