如何使用描述钥匙扣;在jupyter笔记本中执行命令

时间:2019-05-26 09:23:09

标签: cassandra jupyter-notebook

我正在木星笔记本中读取Cassandra数据库数据。在Cassandra中,我们可以将其与命令“ describe keyspaces;”一起使用。

假设,当我Jupyter连接Cassandra时,我不想使用Cassandra,想通过Jupyter笔记本输入Cassandra命令,如何实现描述键空间以了解键空间

试图输入描述键空间;命令

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'的键空间

但是,我想通过Jupyter笔记本了解Cassandra中的所有键空间。

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 个答案:

答案 0 :(得分:1)

describe keyspaces等是在cqlsh中实现的命令-它们不是真正的CQL命令。在Python中,您可以通过Metadata class获取所有这些信息,这些信息隐藏了实现细节,因为系统表的架构在版本之间可能会有所不同。

获取所有键空间名称的代码非常简单(cluster是您创建的用于连接到Cassandra集群的对象的名称):

cluster.metadata.keyspaces.keys()

然后您可以从cluster.metadata.keyspaces映射中获取有关各个键空间的数据。