我使用
在我的mac上安装了cassandrahomebrew install cassandra
它安装了cassandra版本
[cqlsh 5.0.1 | Cassandra 3.10 | CQL spec 3.4.4 | Native protocol v4]
现在我使用cqlsh连接到cassandra并创建一个键空间和一个表。当我尝试在cqlsh中查询表时。我收到错误
'ResultSet' object has no attribute 'column_types
我用Google搜索了错误,发现了这个
https://groups.google.com/forum/#!msg/nosql-databases/O3kZmk8AoeY/PooBo9uWDQAJ
https://issues.apache.org/jira/browse/CASSANDRA-12799
但我不清楚究竟是什么解决方案......第二个链接似乎表明问题会自动解决......但对我来说显然不是
答案 0 :(得分:2)
我只是提交一个带有修复程序的pull请求到homebrew项目: https://github.com/Homebrew/homebrew-core/pull/10650
答案 1 :(得分:1)
使用brew从3.9升级到3.10后,我遇到了同样的错误。 不幸的是,我无法找到原因或答案。 我研究的是安装/卸载也通过pip安装的其他版本(cqlsh,cassandra-driver)。
寻找替代方案我通过docker安装了cassandra,希望这对你来说也是一个可行的选择 - 它对我有用。
使用docker-cassandra的指南 - https://hub.docker.com/_/cassandra/我使用以下两个命令设置并连接到cassandra 3.10(假设docker ist基本上是从DMG文件安装的)。
docker run --name cas310 -p 9042:9042 -d cassandra:3.10
docker exec -it cas310 cqlsh
这也允许您通过默认的cql-port 9042从容器外部通过CQL访问cassandra。
注意:使用来自通过主机上的brew安装的cassandra-version的cqlsh连接到dockerized cassandra-instance导致同样的错误消息。所以这让我相信使用cassandras brew-package打包的python驱动程序存在一些问题。
答案 2 :(得分:0)
几天前我的macOS笔记本电脑上出现了这个问题;修正如下(从记忆中不工作):
pip uninstall cql
,cqlsh,cassandra-driver以及其他任何看起来相关的内容。brew uninstall cassandra
(您的数据仍然可以)。brew install python
- 我认为这是由于macOS python导致不兼容而导致的关键步骤。brew install cassandra
(这可能足以解决问题,如果没有,请继续)。sudo pip install cqlsh
(我知道,sudo并不好 - 也许您可以将此步骤与前面的brew install cassandra
交换以避免使用sudo。)这解决了我的问题,但是我留下了不兼容的协议版本,我暂时使用cqlsh --cqlversion="#.#.#"
解析了
答案 3 :(得分:0)
试试这个:
pip install cassandra-driver --upgrade