cassandra - CQL:如何检查键空间是否存在?

标签 cassandra cql

我需要检查 Cassandra 数据库中是否存在某些键空间。我需要这样写:

if (keyspace KEYSPACE_NAME not exists) create keyspace KEYSPACE_NAME;

有一个命令描述键空间,但是我可以在 cql 脚本中以某种方式从中检索信息吗?

最佳答案

截至目前,cql grammar不提供create keyspace if not exists .可能在 future ,他们会添加这个功能。接近这个的,就是这个 improvement ,也许他们也会添加用于创建键空间。耸耸肩

您可能可以在 python 或任何 Cassandra 客户端中使用 CQL 做类似的事情。如果不存在用java编写的,我有一个简单的创建键空间。

try
{
    if (cluster.describeKeyspace("new_keyspace") == null)
    {
        System.out.println("create new keyspace");
        KeyspaceDefinition ksdef = HFactory.createKeyspaceDefinition("new_keyspace");
        cluster.addKeyspace(ksdef);
    }
    else
    {
        System.out.println("keyspace exists");
    }
}
catch (HectorException e)
{   
}

关于cassandra - CQL:如何检查键空间是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9656371/

相关文章:

Cassandra 条件更新与 IF EXISTS 结合

cassandra - 防止 UnAuhtorize 节点加入 Cassandra 集群

cassandra - cqlsh 2 中是否有明显相当于 'show keyspaces' 的内容?

如果未在更新中指定 TTL,则 Cassandra TTL 在主键上设置为 0,但如果是,则主键上的 TTL 不会更改

Cassandra 1.1 : querying multiple row keys, 但不是范围

cassandra - nodetool 修复 "SYSTEM"和 "OPSCENTER"键空间

cassandra - cassandra 在同时执行两个并行创建键空间命令时会失败吗

scala - Apache Spark : Driver (instead of just the Executors) tries to connect to Cassandra

php - Cassandra CQL : Batch select

azure - 无法从azure数据 block 访问cassandra