Как использовать описания клавишных пространств; Команда в блокноте Юпитера - PullRequest
1 голос
/ 26 мая 2019

Я читаю данные базы данных Кассандры в блокноте Юпитера.В Cassandra мы можем использовать это с командой «описать пространства ключей».

Предположим, что когда я подключен к Cupandra, и я не хочу использовать Cassandra, хочу вводить команды Cassandra через блокнот Jupyter, как это сделать, описатьпространства клавиш для того, чтобы узнать пространства клавиш

Попытка ввода описания пространств клавиш;команда

from cassandra.cluster import Cluster
cluster = Cluster(['127.0.0.1'])  # provide contact points and port
session = cluster.connect('fiirstkeyspace')
rows = session.execute('select * from books_by_author limit 5 ;')
for row in rows:
    print(row)

В приведенном выше коде я знаю, что у меня есть пространство ключей под названием 'fiirstkeyspace'

, однако я хочу узнать все пространства ключей в Cassandra через блокнот Jupyter.

show keyspaces;
  File "<ipython-input-62-dd2f479cd0fc>", line 1
    show keyspaces;
                 ^
SyntaxError: invalid syntax



describe keyspaces;
 File "<ipython-input-67-21f5033a29b3>", line 1
    describe keyspaces;
                     ^
SyntaxError: invalid syntax

1 Ответ

2 голосов
/ 26 мая 2019

describe keyspaces и т. Д. - команды, которые реализованы в cqlsh - они не являются настоящими командами CQL. В Python вы можете получить всю эту информацию через класс метаданных , который скрывает детали реализации, так как схема для системных таблиц может отличаться в разных версиях.

Код для получения имен всех пространств клавиш довольно прост (cluster - это имя объекта, который вы создали для подключения к кластеру Cassandra):

cluster.metadata.keyspaces.keys()

И затем вы можете получить данные об отдельных пространствах клавиш из cluster.metadata.keyspaces map.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...