cassandra学习笔记4--Cassandra Java客户端2
2010-07-03 00:25
197 查看
0.6.1 Thrift Java API
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.List;
import org.apache.cassandra.thrift.Cassandra;
import org.apache.cassandra.thrift.Column;
import org.apache.cassandra.thrift.ColumnOrSuperColumn;
import org.apache.cassandra.thrift.ColumnParent;
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.SlicePredicate;
import org.apache.cassandra.thrift.SliceRange;
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.protocol.TProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
public class Main {
//定义编码
public static final String UTF8 = "UTF8";
public static void main(String[] args) throws UnsupportedEncodingException,InvalidRequestException, UnavailableException, TimedOutException,TException, NotFoundException {
//首先指定cassandra server的地址
TTransport tr = new TSocket("localhost", 9160);
//指定通信协议为二进制流协议TBinaryProtocol
TProtocol proto = new TBinaryProtocol(tr);
Cassandra.Client client = new Cassandra.Client(proto);
//建立通信连接
tr.open();
//这里的keyspace和columnFamily要在cassandra.conf的配置文件里面配置好,否则程序会找不到的
//设置keyspace名字为Keyspace1
String keyspace = "Keyspace1";
//设置columnFamily名字为Standard1
String columnFamily = "Standard1";
//设置key名为1
String keyUserID = "1";
//insert data
long timestamp = System.currentTimeMillis();
//设置name列
ColumnPath colPathName = new ColumnPath(columnFamily);
colPathName.setColumn("fullName".getBytes(UTF8));
client.insert(keyspace, keyUserID, colPathName, "Chris Goffinet".getBytes(UTF8), timestamp, ConsistencyLevel.ONE);
//设置age列
ColumnPath colPathAge = new ColumnPath(columnFamily);
colPathAge.setColumn("age".getBytes(UTF8));
client.insert(keyspace, keyUserID, colPathAge, "24".getBytes(UTF8),timestamp, ConsistencyLevel.ONE);
//设置
ColumnPath colPathCompany = new ColumnPath(columnFamily);
colPathCompany.setColumn("Company".getBytes(UTF8));
client.insert(keyspace, keyUserID, colPathCompany, "人人".getBytes(UTF8), timestamp, ConsistencyLevel.ONE);
//读取单个column(获取名字那个column)
System.out.println("single column:");
Column col = client.get(keyspace, keyUserID, colPathName,ConsistencyLevel.ONE).getColumn();
//如初
System.out.println("column name: " + new String(col.name, UTF8));
System.out.println("column name: " + new String(col.value, UTF8));
System.out.println("column timestamp: " + new Date(col.timestamp));
// 读取整个 row
SlicePredicate predicate = new SlicePredicate();
SliceRange sliceRange = new SliceRange();
sliceRange.setStart(new byte[0]);
sliceRange.setFinish(new byte[0]);
predicate.setSlice_range(sliceRange);
System.out.println("/nrow:");
//创建columnFamily名字为"Standard1"的ColumnParent
ColumnParent parent = new ColumnParent(columnFamily);
//获取ColumnOrSuperColumn结合
List<ColumnOrSuperColumn> results = client.get_slice(keyspace,keyUserID, parent, predicate, ConsistencyLevel.ONE);
for (ColumnOrSuperColumn result : results) {
Column column = result.column;
System.out.println(new String(column.name, UTF8) + " -> " + new String(column.value, UTF8));
}
//关闭通信连接
tr.close();
}
}
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.List;
import org.apache.cassandra.thrift.Cassandra;
import org.apache.cassandra.thrift.Column;
import org.apache.cassandra.thrift.ColumnOrSuperColumn;
import org.apache.cassandra.thrift.ColumnParent;
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.SlicePredicate;
import org.apache.cassandra.thrift.SliceRange;
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.protocol.TProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
public class Main {
//定义编码
public static final String UTF8 = "UTF8";
public static void main(String[] args) throws UnsupportedEncodingException,InvalidRequestException, UnavailableException, TimedOutException,TException, NotFoundException {
//首先指定cassandra server的地址
TTransport tr = new TSocket("localhost", 9160);
//指定通信协议为二进制流协议TBinaryProtocol
TProtocol proto = new TBinaryProtocol(tr);
Cassandra.Client client = new Cassandra.Client(proto);
//建立通信连接
tr.open();
//这里的keyspace和columnFamily要在cassandra.conf的配置文件里面配置好,否则程序会找不到的
//设置keyspace名字为Keyspace1
String keyspace = "Keyspace1";
//设置columnFamily名字为Standard1
String columnFamily = "Standard1";
//设置key名为1
String keyUserID = "1";
//insert data
long timestamp = System.currentTimeMillis();
//设置name列
ColumnPath colPathName = new ColumnPath(columnFamily);
colPathName.setColumn("fullName".getBytes(UTF8));
client.insert(keyspace, keyUserID, colPathName, "Chris Goffinet".getBytes(UTF8), timestamp, ConsistencyLevel.ONE);
//设置age列
ColumnPath colPathAge = new ColumnPath(columnFamily);
colPathAge.setColumn("age".getBytes(UTF8));
client.insert(keyspace, keyUserID, colPathAge, "24".getBytes(UTF8),timestamp, ConsistencyLevel.ONE);
//设置
ColumnPath colPathCompany = new ColumnPath(columnFamily);
colPathCompany.setColumn("Company".getBytes(UTF8));
client.insert(keyspace, keyUserID, colPathCompany, "人人".getBytes(UTF8), timestamp, ConsistencyLevel.ONE);
//读取单个column(获取名字那个column)
System.out.println("single column:");
Column col = client.get(keyspace, keyUserID, colPathName,ConsistencyLevel.ONE).getColumn();
//如初
System.out.println("column name: " + new String(col.name, UTF8));
System.out.println("column name: " + new String(col.value, UTF8));
System.out.println("column timestamp: " + new Date(col.timestamp));
// 读取整个 row
SlicePredicate predicate = new SlicePredicate();
SliceRange sliceRange = new SliceRange();
sliceRange.setStart(new byte[0]);
sliceRange.setFinish(new byte[0]);
predicate.setSlice_range(sliceRange);
System.out.println("/nrow:");
//创建columnFamily名字为"Standard1"的ColumnParent
ColumnParent parent = new ColumnParent(columnFamily);
//获取ColumnOrSuperColumn结合
List<ColumnOrSuperColumn> results = client.get_slice(keyspace,keyUserID, parent, predicate, ConsistencyLevel.ONE);
for (ColumnOrSuperColumn result : results) {
Column column = result.column;
System.out.println(new String(column.name, UTF8) + " -> " + new String(column.value, UTF8));
}
//关闭通信连接
tr.close();
}
}
相关文章推荐
- cassandra学习笔记4--Cassandra Java客户端
- cassandra学习笔记4--Cassandra Java客户端
- cassandra学习笔记4--Cassandra Java客户端
- cassandra学习笔记4--Cassandra Java客户端3
- Cassandra的Java客户端的另一个选择---Pelops
- Cassandra客户端连接的说明---Java版
- Hector——一个高层的Cassandra Java客户端
- Java TCPIP之UDP客户端
- 红叶倾城一键网页游戏服务端+客户端(无须安装Java)源码
- hadoop2.0 MapReduce编程(java客户端)
- Java实现多个客户端聊天程序
- Java创建WebService服务及客户端实现
- Java Android客户端开发
- java获取客户端请求IP地址 获取公网ip
- java操作cassandra数据库(增删改查)
- Redis源码解析(六):redis之闲话java客户端
- JavaWeb从入门到放弃(9)-实现一个客户端上传文件到服务端
- Zookeeper系列(四)Zookeeper客户端(JAVA)API之创建会话
- Zookeeper系列(六)Zookeeper客户端(JAVA)API之创读取子节点列表
- Python服务器与多种客户端(Python/Java/Android)之间的通信