Cassandra语句设置KeySpace

时间:2016-12-15 00:25:49

标签: cassandra-2.0 datastax-java-driver

使用Cassandra 2.2.8和3.0连接器。 我正在尝试使用QueryBuilder创建一个Statement。当我执行Statement时,它会抱怨没有定义键空间。我知道设置键空间的唯一方法如下(Statement中没有setKeyspace方法)。当我做一个getKeySpace时 - 我实际上是null

 Statement s = QueryBuilder.select().all()
            .from("test.tests")
System.out.println("getKeyspace:"+ s.getKeyspace()); >> null

我做错了什么,有没有其他(更可靠)的方式来设置? 感谢

1 个答案:

答案 0 :(得分:2)

from(String)需要一个表名。虽然您正在做的是技术上有效并且cassandra会正确解释它,但驱动程序无法以这种方式派生键空间名称。

相反,您可以使用from(String, String)将第一个参数作为键空间。

    Statement s = QueryBuilder.select().all()
            .from("test", "tests");
    System.out.println("getKeyspace:" + s.getKeyspace()); // >> test