CQLSH客户端 - 模块'对象没有属性' parse_options

时间:2016-10-27 16:01:04

标签: php python cassandra datastax cqlsh

我试图通过CQLSH客户端访问我的Cassandra服务器以导入巨大的CSV文件。我收到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'

4 个答案:

答案 0 :(得分:3)

使用cqlsh中的pip install cqlsh时遇到同样的问题。 尝试使用cassandra的工具cqlsh

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

请参阅jira

答案 1 :(得分:2)

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服务,因此,如果您不希望这些服务运行,则可能必须手动禁用它们。

答案 2 :(得分:1)

2020年的答案:

要使用cassandra的cqlsh,请使用docker run -it cassandra /opt/cassandra/bin/cqlsh

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

然后是COPY keyspace.table TO '/tmp/my_table.csv';

答案 3 :(得分:0)

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

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

$ /usr/bin/cqlsh <cassandra_listen_ip>

使用以下命令运行命令

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