com.datastax.driver.core.exceptions.InvalidQueryEx

2019-10-18 01:27发布

我创造了我列族这样从CLI-

create column family profile
    with key_validation_class = 'UTF8Type'
    and comparator = 'UTF8Type'
    and default_validation_class = 'UTF8Type'
    and column_metadata = [
      {column_name : account, validation_class : 'UTF8Type'}
      {column_name : advertising, validation_class : 'UTF8Type'}
      {column_name : behavior, validation_class : 'UTF8Type'}
      {column_name : info, validation_class : 'UTF8Type'}
      ];

现在,我试图插入使用Datastax的Java此列家族驱动程序 -

public void upsertAttributes(final String userId, final Map<String, String> attributes) {

String batchInsert = "INSERT INTO PROFILE(id, account, advertising, behavior, info) VALUES ( '12345', 'hello11', 'bye2234', 'bye1', 'bye2') "; 

        CassandraDatastaxConnection.getInstance().getSession().execute(batchInsert);

    }

我总是得到这个exception-

com.datastax.driver.core.exceptions.InvalidQueryException:未配置的ColumnFamily简介

并通过这种方式,我想创建连接/会话初始化卡桑德拉使用Datastax的Java驱动程序 -

private CassandraDatastaxConnection() {

    try{
    cluster = Cluster.builder().addContactPoint("localhost").build();
    session = cluster.connect("my_keyspace");           
    } catch (NoHostAvailableException e) {

            throw new RuntimeException(e);
    }
}

我正在卡桑德拉1.2.3。 而我能够使用上面的代码连接到卡桑德拉。 我现在面临的唯一问题是,同时插入。

我想知道的是我是否能插入列族(即我从CLI模式创建)使用Datastax Java驱动程序或没有? 只要我想插入我在命令行模式下创建柱族,我总是得到上面的异常。

但是,如果我尝试插入,我在创造另一个表CQLsh mode ,我可以插入到这一点。

任何帮助将不胜感激。

Answer 1:

我的猜测:你的CLI columnfamilies是在一个不同的密钥空间。



文章来源: com.datastax.driver.core.exceptions.InvalidQueryException using Datastax Java driver