首页 文章

使用Datastax Java驱动程序的com.datastax.driver.core.exceptions.InvalidQueryException

提问于
浏览
1

我从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);

    }

我总是得到这个例外 -

com.datastax.driver.core.exceptions.InvalidQueryException:unconfigured columnfamily profile

通过这种方式,我试图使用Datastax java驱动程序创建连接/会话初始化到Cassandra-

private CassandraDatastaxConnection() {

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

            throw new RuntimeException(e);
    }
}

我正在运行Cassandra 1.2.3 . 我可以使用上面的代码连接到Cassandra . 我面临的唯一问题是插入时 .

我想知道的是我是否可以使用Datastax Java驱动程序插入Column Family(我是从CLI模式创建的)?一旦我尝试插入我在CLI模式下创建的Column Family,我总是得到上述异常 .

但是,如果我尝试插入我在 CQLsh mode 中创建的另一个表,我可以插入到该表中 .

任何帮助将不胜感激 .

1 回答

  • 3

    我的猜测:您的CLI列系列位于不同的键空间中 .

相关问题