我从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
,我可以插入其中。
任何帮助都将不胜感激。
1条答案
按热度按时间pdtvr36n1#
我猜:你的家人在一个不同的密钥空间。