在Windows上运行COPY命令时出现酸洗错误:CQLShell

在Windows上运行COPY命令时出现酸洗错误:CQLShell,第1张

在Windows上运行COPY命令时出现酸洗错误:CQLShell

所以我去测试了一下。我在Windows和Linux上的Cassandra 2.1.5( 顺便说一句,您使用的是哪个版本?
)中创建了两个简单的表。然后,我分别在每个上测试了COPY TO / FROM。

Linux(Ubuntu 14.04.2 LTS):

Connected to Test Cluster at dockingbay94:9042.[cqlsh 5.0.1 | Cassandra 2.1.5 | CQL spec 3.2.0 | Native protocol v3]Use HELP for help.aploetz@cqlsh> use stackoverflow2;aploetz@cqlsh:stackoverflow2> COPY dummy3(id,time) TO '/home/aploetz/dummy3.txt'     WITH HEADER=true AND DELIMITER='|';4 rows exported in 0.071 seconds.aploetz@cqlsh:stackoverflow2> COPY dummy4(id,time) FROM '/home/aploetz/dummy3.txt'     WITH HEADER=true AND DELIMITER='|';4 rows imported in 0.427 seconds.

Windows 8.1:

Connected to Window$ Cluster at 127.0.0.1:9042.[cqlsh 5.0.1 | Cassandra 2.1.5 | CQL spec 3.2.0 | Native protocol v3]Use HELP for help.WARNING: pyreadline dependency missing.  Install to enable tab completion.aploetz@cqlsh> use stackoverflow;aploetz@cqlsh:stackoverflow> COPY dummy3(id,time) TO 'e:dummy3.txt'     WITH HEADER=true AND DELIMITER='|';4 rows exported in 0.020 seconds.aploetz@cqlsh:stackoverflow> COPY dummy4(id,time) FROM 'e:dummy3.txt'     WITH HEADER=true AND DELIMITER='|';Error starting import process:Can't pickle <type 'thread.lock'>: it's not found as thread.lockcan only join a started processaploetz@cqlsh:stackoverflow> Traceback (most recent call last):  File "<string>", line 1, in <module>  File "E:Program FilesDataStax Communitypythonlibmultiprocessingforking.py", line 373, in main    prepare(preparation_data)  File "E:Program FilesDataStax Communitypythonlibmultiprocessingforking.py", line 482, in prepare    file, path_name, etc = imp.find_module(main_name, dirs)importError: No module named cqlsh

因此,COPY TO(导出)工作正常,但是COPY FROM(导入)在Windows上失败。

DataStax的Josh
McKenzie在12月发表了一篇文章,标题为:Cassandra和Windows:过去,现在和将来。在其中,他详细讨论了Cassandra在Windows上存在的一些长期存在的问题。本质上,Windows
NTFS阻止其他进程更改/删除由其他进程使用(锁定)的文件。这些问题直接影响CQLSH将数据复制到Cassandra的能力。

有一个JIRA票证(CASSANDRA-9670)解决了类似的问题(
在Windows上使用CQLSH运行cql脚本,会产生相同的错误消息 )。我强烈怀疑这两个问题有关。无论如何,Cassandra有望在Windows
3.0版本上得到支持,该版本目前正在“开发中”。我尝试了一些技巧,看是否能在Windows上找到解决方法,如果找到,我会报告。但是暂时,您可能只需要在Linux上使用Cassandra即可享受其全部功能。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5664093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存