上一个记录了使用Thrift 操作单行数据以及读取单元列格. 但是是按切片的方式,这次贴上一段得到特定列的代码
比如我们有N个列,a b c d ....N. 我们想要 a d 两列, 代码就可以这样写.
Connector conn = new Connector();
Cassandra.Client client = conn.connect("Keyspace1");//定义了数据库连接
SlicePredicate predicate = new SlicePredicate();//查询谓词, 有点像RDMBS定义的 Sqlcommand之类的
List<ByteBuffer> colNames = new ArrayList<ByteBuffer>();
colNames.add(UsefulUtils.toByteBuffer("a"));
colNames.add(UsefulUtils.toByteBuffer("b"));//定义了一个List,里面存储ByteBuffer类型,把列名add进去
predicate.column_names = colNames;//然后把这个List 传给 谓词(Command)的column_names方法
//predicate.setColumn_names(colNames); 这是另外一种赋值方法
ColumnParent parent = new ColumnParent("Standard1"); //定义要操作的columns family
String key = "k1"; //定义了要操作