我创造了我列族这样从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
,我可以插入到这一点。
任何帮助将不胜感激。