com.datastax.driver.core.exceptions.invalidqueryexception使用datastax java驱动程序

d6kp6zgx  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(349)

我从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:未配置的columnfamily配置文件
通过这种方式,我尝试使用DataStaxJava驱动程序创建到cassandra的连接/会话初始化-

private CassandraDatastaxConnection() {

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

            throw new RuntimeException(e);
    }
}

我正在运行Cassandra1.2.3。我可以用上面的代码连接到Cassandra。我面临的唯一问题是插入时。
我想知道的是,我是否可以使用DataStaxJava驱动程序插入到列族(我从cli模式创建的)中?当我试图插入到我在cli模式下创建的列族中时,我总是得到上面的异常。
但是如果我尝试插入到我在中创建的另一个表中 CQLsh mode ,我可以插入其中。
任何帮助都将不胜感激。

pdtvr36n

pdtvr36n1#

我猜:你的家人在一个不同的密钥空间。

相关问题