有人知道带有分隔符和maxinserterrors的Cassandra COPY FROM命令的正确结构吗?
我试图按照以下方式运行它:
copy keyspace.table (field1,field2,field3) FROM './iinfo_current_file3.dat' WITH DELIMITER = '|' AND MAXINSERTERRORS = '10';
我收到以下错误:
<stdin>:2:Unrecognized COPY FROM options: maxinserterrors
I'm using:
cqlsh 5.0.1 | Cassandra 2.1.11.969 | DSE 4.8.3 | CQL spec 3.2.1 | Native protocol v3
答案 0 :(得分:2)
您的语法是正确的,但您的Cassandra(cqlsh)版本太旧了。从{2.1}开始,MAXINSERTERRORS
是2.1分支中的新选项:New options and better performance in cqlsh COPY。
要验证,请尝试以下操作:
$ grep -i MAXINSERTERRORS `which cqlsh`
如果有效,您应该看到类似的内容:
$ grep -i MAXINSERTERRORS `which cqlsh`
'SKIPROWS', 'SKIPCOLS', 'MAXPARSEERRORS', 'MAXINSERTERRORS', 'ERRFILE', 'TTL']
MAXINSERTERRORS=-1 - the maximum global number of insert errors, -1 means no maximum
在较新版本中,您可能需要查看cqlsh.py
:
$ grep -i MAXINSERTERRORS `which cqlsh.py`