cassandra - 检查 Astyanax Keyspace 是否为空或不存在

标签 cassandra astyanax

有没有办法检查当前上下文中是否存在 Astyanax Keyspace?现在我的代码执行以下操作:

keyspace = context.getClient();
try{
   keyspace.describeKeyspace(); 
}catch (BadRequestException e){
   keyspace.createKeyspace(ImmutableMap.<String, Object>builder()
                .put("strategy_options", ImmutableMap.<String, Object>builder()
                        .put("replication_factor", "1")
                        .build())
                .put("strategy_class", "SimpleStrategy")
                .build();
}

这是检查键空间是否存在的唯一方法吗?

最佳答案

我就是这样做的...

try {
    keyspace.getKeyspaceProperties();
    LOG.debug("keyspace exist");
} catch (Exception e) {
    LOG.debug("keyspace does NOT exist");
}

此代码将生成异常,因此请务必添加一些注释。如果人们检查日志,他们就会明白发生了什么

更新 有人在github上提出了功能请求 Issue #382 。 希望对您有帮助...

关于cassandra - 检查 Astyanax Keyspace 是否为空或不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18209569/

相关文章:

java - 使用 AnnotatedCompositeSerializer 放置的 Astyanax 复合列在几个小时后通过多个客户端变得无法获取

cassandra - 如何查询 Cassandra 集群的元数据?

cassandra - Astyanax:如果 MutationBatch 中途失败,我有什么保证?

apache-spark - 将 Spark Structured Streaming 数据写入 Cassandra

Cassandra 数据模型 - 1 个 SCF 或多个 CF

c# - C# DataStax 驱动程序中的 CassandraEntityBase

java - Astyanax 客户端每个节点的最大连接数?

java - 使用 Astyanax CQL3 API 批量插入?

database - Pentaho 框架尺寸 (17727647) 大于最大长度 (16384000)!

linux - 从 5.0.7 升级到 dse 6.7.5 后索引分区出错