Есть ли явный эквивалент "show keyspaces" в cqlsh 2?

Какую команду cqlsh можно использовать для быстрого просмотра кластеров в кластере? cqlsh не предоставляет show keyspaces, а describe cluster не так краток, как я хочу.


Я работаю, используя следующие спецификации:

cqlsh 2.2.0, Cassandra 1.1.10, CQL spec 2.0.0, Thrift protocol 19.33.0

Ответ 1

Очень просто. Просто введите эту команду в свою оболочку cqlsh и наслаждайтесь

 select * from system.schema_keyspaces;

В C * 3.x мы можем просто использовать

 describe keyspaces

Ответ 2

Просто попробуйте следующее:

describe keyspaces


Однако вам могут потребоваться спецификации примерно следующих (а не тех, которые упомянуты сами Crowie)

[cqlsh 4.1.1 | Cassandra 2.0.6 | CQL spec 3.1.1 | Протокол Thrift 19.39.0]

Ответ 3

cqlsh> select * from system_schema.keyspaces;

 keyspace_name      | durable_writes | replication
--------------------+----------------+-------------------------------------------------------------------------------------
        system_auth |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '1'}
      system_schema |           True |                             {'class': 'org.apache.cassandra.locator.LocalStrategy'}
 system_distributed |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
             system |           True |                             {'class': 'org.apache.cassandra.locator.LocalStrategy'}
      system_traces |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '2'}

Ответ 4

Правильный способ с C * 3.x состоит в следующем:

List<KeyspaceMetadata> keyspaces = Cluster.getMetadata().getKeyspaces()

Затем используйте getName() в экземплярах KeyspaceMetadata.