Ответ 1
Очень просто. Просто введите эту команду в свою оболочку cqlsh и наслаждайтесь
select * from system.schema_keyspaces;
В C * 3.x мы можем просто использовать
describe keyspaces
Какую команду cqlsh можно использовать для быстрого просмотра кластеров в кластере? cqlsh не предоставляет show keyspaces
, а describe cluster
не так краток, как я хочу.
Я работаю, используя следующие спецификации:
cqlsh 2.2.0, Cassandra 1.1.10, CQL spec 2.0.0, Thrift protocol 19.33.0
Очень просто. Просто введите эту команду в свою оболочку cqlsh и наслаждайтесь
select * from system.schema_keyspaces;
В C * 3.x мы можем просто использовать
describe keyspaces
Просто попробуйте следующее:
describe keyspaces
Однако вам могут потребоваться спецификации примерно следующих (а не тех, которые упомянуты сами Crowie)
[cqlsh 4.1.1 | Cassandra 2.0.6 | CQL spec 3.1.1 | Протокол Thrift 19.39.0]
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'}
Правильный способ с C * 3.x состоит в следующем:
List<KeyspaceMetadata> keyspaces = Cluster.getMetadata().getKeyspaces()
Затем используйте getName()
в экземплярах KeyspaceMetadata.