Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用thrift api java连接到cassandra柱族_Cassandra_Thrift - Fatal编程技术网

使用thrift api java连接到cassandra柱族

使用thrift api java连接到cassandra柱族,cassandra,thrift,Cassandra,Thrift,我有一个cassandra单节点,在它下面有几个键空间和几个列族。我想使用JAVA-THRIFT API与他们连接。我成功地描述了集群\名称/集群\版本/等。我想连接到它下面的键空间和列族 我当前的java代码如下所示: import org.apache.cassandra.thrift.*; import org.apache.thrift.TException; import org.apache.thrift.protocol.*; import org.apache.thrift.tr

我有一个cassandra单节点,在它下面有几个键空间和几个列族。我想使用JAVA-THRIFT API与他们连接。我成功地描述了集群\名称/集群\版本/等。我想连接到它下面的键空间和列族

我当前的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();
}
}

关于如何进一步访问列族的任何建议?

请注意,在Thrift报告的模式中,不会返回使用CQL3创建的表

强烈建议使用一个java客户端库,如DataStax CQL驱动程序、Hector或Astyanax。它们提供了许多必要的功能(故障切换、重试、连接池),而且使用起来更简单。我们使用的是Hector,最近我们迁移到了datastax java-driver()。好的。。非常感谢你。我也开始使用datastax。