Php CQLSH客户端-模块';对象没有属性';解析_选项

Php CQLSH客户端-模块';对象没有属性';解析_选项,php,python,cassandra,datastax,cqlsh,Php,Python,Cassandra,Datastax,Cqlsh,我正试图通过CQLSH客户端访问我的Cassandra服务器,以导入一个巨大的CSV文件。我得到一个module'对象没有属性'parse_options错误 我运行以下命令: cqlsh XXX.XXX.XX.XX XXXX --cqlversion="3.4.2" --execute="copy evolvdso.teste from '2016-10-26 15:25:10.csv' WITH DELIMITER =',' AND HEADER=TRUE --debug"; Starti

我正试图通过CQLSH客户端访问我的Cassandra服务器,以导入一个巨大的CSV文件。我得到一个
module'对象没有属性'parse_options
错误

我运行以下命令:

cqlsh XXX.XXX.XX.XX XXXX --cqlversion="3.4.2" --execute="copy evolvdso.teste from '2016-10-26 15:25:10.csv' WITH DELIMITER =',' AND HEADER=TRUE --debug";
Starting copy of evolvdso.teste with columns ['ref_equip', 'date', 'load', 'ptd_assoc'].
Traceback (most recent call last):
  File "/usr/local/bin/cqlsh", line 1133, in onecmd
    self.handle_statement(st, statementtext)
  File "/usr/local/bin/cqlsh", line 1170, in handle_statement
    return custom_handler(parsed)
  File "/usr/local/bin/cqlsh", line 1834, in do_copy
    rows = self.perform_csv_import(ks, cf, columns, fname, opts)
  File "/usr/local/bin/cqlsh", line 1846, in perform_csv_import
    csv_options, dialect_options, unrecognized_options = copyutil.parse_options(self, opts)


AttributeError: 'module' object has no attribute 'parse_options'
下面是调试和错误消息:

cqlsh XXX.XXX.XX.XX XXXX --cqlversion="3.4.2" --execute="copy evolvdso.teste from '2016-10-26 15:25:10.csv' WITH DELIMITER =',' AND HEADER=TRUE --debug";
Starting copy of evolvdso.teste with columns ['ref_equip', 'date', 'load', 'ptd_assoc'].
Traceback (most recent call last):
  File "/usr/local/bin/cqlsh", line 1133, in onecmd
    self.handle_statement(st, statementtext)
  File "/usr/local/bin/cqlsh", line 1170, in handle_statement
    return custom_handler(parsed)
  File "/usr/local/bin/cqlsh", line 1834, in do_copy
    rows = self.perform_csv_import(ks, cf, columns, fname, opts)
  File "/usr/local/bin/cqlsh", line 1846, in perform_csv_import
    csv_options, dialect_options, unrecognized_options = copyutil.parse_options(self, opts)


AttributeError: 'module' object has no attribute 'parse_options'

当我从
pip安装cqlsh
使用
cqlsh
时也有同样的问题。 尝试使用卡桑德拉的工具
cqlsh

sudo docker run-it cassandra/usr/bin/cqlsh


参考

我遇到了一个类似的问题,我的场景的原因是默认的cqlsh路径是
/usr/local/bin/cqlsh
。(使用命令检查
$which cqlsh

解决方案:使用Cassandra附带的
/usr/bin/cqlsh
连接Cassandra服务器或运行某些命令。例如,使用以下命令连接到Cassandra服务器:

$ /usr/bin/cqlsh <cassandra_listen_ip>
$/usr/bin/cqlsh
或使用运行命令

$ /usr/bin/cqlsh <cassandra_listen_ip> -e "<command>"
$/usr/bin/cqlsh-e“

看起来pip版本有一些问题,您应该通过官方软件包进行安装,例如:

apt install wget apt-transport-https
wget -q -O - https://www.apache.org/dist/cassandra/KEYS | apt-key add -
sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'
apt update
apt install -y cassandra

注意,这还包括cassandra服务,因此如果您不希望这些服务运行,您可能必须手动禁用它们。

2020年回答:

cqlsh XXX.XXX.XX.XX XXXX --cqlversion="3.4.2" --execute="copy evolvdso.teste from '2016-10-26 15:25:10.csv' WITH DELIMITER =',' AND HEADER=TRUE --debug";
Starting copy of evolvdso.teste with columns ['ref_equip', 'date', 'load', 'ptd_assoc'].
Traceback (most recent call last):
  File "/usr/local/bin/cqlsh", line 1133, in onecmd
    self.handle_statement(st, statementtext)
  File "/usr/local/bin/cqlsh", line 1170, in handle_statement
    return custom_handler(parsed)
  File "/usr/local/bin/cqlsh", line 1834, in do_copy
    rows = self.perform_csv_import(ks, cf, columns, fname, opts)
  File "/usr/local/bin/cqlsh", line 1846, in perform_csv_import
    csv_options, dialect_options, unrecognized_options = copyutil.parse_options(self, opts)


AttributeError: 'module' object has no attribute 'parse_options'
要使用cassandra的cqlsh,请使用
docker run-it cassandra/opt/cassandra/bin/cqlsh

如果您使用的是bitnami的cassandra图像,则cqlsh位于
/opt/bitnami/cassandra/bin/cqlsh


然后
将keyspace.table复制到“/tmp/my_table.csv”

您运行的是什么版本的Cassandra?我在你的另一条评论中链接了这一点,你不相信吗?我正在运行3.7版。是的,我看到了,谢谢。也许是同样的问题。我找到了一个解决办法,我用这个:加载CSV到我的远程数据库,它的工作非常好!我还使用pip安装cqlsh客户机。是的,我想也是同样的问题。:)通常最好使用与Cassandra发行版打包的cqlsh版本。它们并不意味着是跨版本的,而且有时也不清楚pypi包中发布了哪个版本