Cassandra 3.1 python驱动程序'在输入描述中没有可行的选择'

Nat*_*rks 5 cassandra python-2.7

由于某些原因,我无法运行describe键空间,即使我通过3.1 python驱动程序清楚地连接到我的Cassandra 3.3主机.其他一些命令似乎工作正常.

提前致谢!

    from cassandra.cluster import Cluster
        cluster = Cluster(['192.168.1.53'])
        #session = cluster.connect('node_data')
        session = cluster.connect()
        session.execute('USE node_data')
        rows = session.execute('SELECT * FROM users')
        session.execute('DESCRIBE KEYSPACES;')

---------------------------------------------------------------------------
SyntaxException                           Traceback (most recent call last)
<ipython-input-5-8b1f82917aa9> in <module>()
----> 1 session.execute('DESCRIBE KEYSPACES;')
      2 

/Users/natemarks/.virtualenvs/cassandra/lib/python2.7/site-packages/cassandra/cluster.so in cassandra.cluster.Session.execute (cassandra/cluster.c:27107)()

/Users/natemarks/.virtualenvs/cassandra/lib/python2.7/site-packages/cassandra/cluster.so in cassandra.cluster.ResponseFuture.result (cassandra/cluster.c:60227)()

SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:0 no viable alternative at input 'DESCRIBE' ([DESCRIBE]...)">
Run Code Online (Sandbox Code Playgroud)

And*_*ert 9

DESCRIBE是一个特定于cqlsh的命令,因此驱动程序不支持它,因为它不被视为CQL命令.您可以在此处找到cqlsh命令的完整列表.

或者,您可以通过访问Cluster.metadata然后访问keyspacesdict 来使用python-driver获取键空间的模式.


nat*_*usa 7

cluster.metadata.keyspaces
cluster.metadata.keyspaces['node_data']
cluster.metadata.keyspaces['node_data'].tables
cluster.metadata.keyspaces['node_data'].tables['users']
cluster.metadata.keyspaces['node_data'].tables['users'].columns
cluster.metadata.keyspaces['node_data'].tables['users'].columns['uid']
Run Code Online (Sandbox Code Playgroud)

通过访问群集元数据,您可以获得与存储在给定cassandra群集中的任何键空间,表和列相关的所有信息.