我正在尝试通过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'
当我使用cqlsh
的pip install cqlsh
时有同样的问题。尝试使用cassandra的工具cqlsh
sudo docker run -it cassandra /usr/bin/cqlsh
请参阅jira
我遇到了类似的问题,我的方案的原因是默认的cqlsh路径是/usr/local/bin/cqlsh
。 (查看命令$ which cqlsh
)
解决方案:使用Cassandra发送/usr/bin/cqlsh
连接Cassandra服务器或运行一些命令。例如,使用命令连接到Cassandra服务器:
$ /usr/bin/cqlsh <cassandra_listen_ip>
或运行命令
$ /usr/bin/cqlsh <cassandra_listen_ip> -e "<command>"