我有一个 cassandra 单节点,其下运行的键空间和列族很少。我想使用JAVA-THRIFT API与他们联系。我成功地描述了cluster_name/cluster_version /etc。我想连接到它下面的键空间和列族。
我当前的 java 代码如下所示:
import org.apache.cassandra.thrift.*;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.*;
import org.apache.thrift.transport.*;
import java.io.UnsupportedEncodingException;
import java.lang.*;
import java.nio.ByteBuffer;
public class ShowKeyspaces {
public static void main(String args[]) throws TException, InvalidRequestException, UnavailableException, UnsupportedEncodingException, NotFoundException {
TTransport tr = new TFramedTransport(new TSocket("localhost", 9160));
TProtocol proto = new TBinaryProtocol(tr);
tr.open();
Cassandra.Client client = new Cassandra.Client(proto);
System.out.println("Version : "+client.describe_version());
System.out.println("cluster name : "+client.describe_cluster_name());
for ( KsDef keyspace: client.describe_keyspaces() )
{
System.out.println("keyspace " +keyspace);
}
client.set_keyspace("demodb");
tr.close();
}
}
关于锄头的任何建议我可以进一步访问列族吗?