'结果集'对象没有属性' column_types

时间:2017-03-02 14:54:32

标签: cassandra

我使用

在我的mac上安装了cassandra
homebrew 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

但我不清楚究竟是什么解决方案......第二个链接似乎表明问题会自动解决......但对我来说显然不是

4 个答案:

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