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
Cassandra Datastax驱动程序未通过prepare返回行_Cassandra - Fatal编程技术网

Cassandra Datastax驱动程序未通过prepare返回行

Cassandra Datastax驱动程序未通过prepare返回行,cassandra,Cassandra,我使用的是卡桑德拉1.2.5和二级索引。当我运行prepared语句时,没有返回任何数据。我有数据。对于索引列,我也有重复的值。我所做的是根据用户id重新运行视频id列表。表中描述如下: [default@video]描述视频 警告:“描述”输出中有意省略CQL3表。 有关详细信息,请参阅 ColumnFamily: videos Key Validation Class: org.apache.cassandra.db.marshal.IntegerType Default colum

我使用的是卡桑德拉1.2.5和二级索引。当我运行prepared语句时,没有返回任何数据。我有数据。对于索引列,我也有重复的值。我所做的是根据用户id重新运行视频id列表。表中描述如下: [default@video]描述视频

警告:“描述”输出中有意省略CQL3表。 有关详细信息,请参阅

ColumnFamily: videos
  Key Validation Class: org.apache.cassandra.db.marshal.IntegerType
  Default column value validator: org.apache.cassandra.db.marshal.IntegerType
  Columns sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 864000
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Populate IO Cache on flush: false
  Replicate on write: true
  Caching: ALL
  Bloom Filter FP chance: default
  Built indexes: [videos.videos_user_id_idx]
  Column Metadata:
    Column Name: video_id
      Validation Class: org.apache.cassandra.db.marshal.IntegerType
    Column Name: user_id
      Validation Class: org.apache.cassandra.db.marshal.IntegerType
      Index Name: videos_user_id_idx
      Index Type: KEYS
  Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
  Compression Options:
    sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
我的代码如下所示: int并发=3; //final BoundStatement query=null; 试一试{ //创建到主机的会话 Cluster Cluster=new Cluster.Builder().addContactPoints(String.valueOf(“localhost”)).build()

注意:即使我更改语句以将?替换为值9,我仍然没有返回任何行

你知道我做错了什么吗

谢谢,
-Tony

尝试使用以下代码检索数据:

Cluster cluster = Cluster.builder()
                                 .addContactPoint("127.0.0.1")
                              // .addContactPoint("some.other.ip")
                                 .build();
Session session = cluster.connect();

String statement = "SELECT * FROM pixel.user;";
// String statement = "SELECT video_id from video.videos WHERE user_id=9";

session.execute(statement);
ResultSet rs = session.execute(statement);
for(Row r : rs.all())
    System.out.println(r.toString());
一旦掌握了基本知识,就可以开始绑定语句了:

int user_id = 9;
String statement = "SELECT * from video.videos WHERE user_id=?";
PreparedStatement pStatement = session.prepare(statement);
BoundStatement boundStatement = new BoundStatement(pStatement);

PreparedStatement ps = session.prepare(statement);
BoundStatement bs = ps.bind();
bs.bind(user_id); // a csv list: bs.bind(9, "string val of second ?, etc...");

// session.execute(bs);
ResultSet rs = session.execute(bs);
int user_id = 9;
String statement = "SELECT * from video.videos WHERE user_id=?";
PreparedStatement pStatement = session.prepare(statement);
BoundStatement boundStatement = new BoundStatement(pStatement);

PreparedStatement ps = session.prepare(statement);
BoundStatement bs = ps.bind();
bs.bind(user_id); // a csv list: bs.bind(9, "string val of second ?, etc...");

// session.execute(bs);
ResultSet rs = session.execute(bs);