Cassandra CQLSH 无法识别的 COPY FROM 选项:maxinserterrors

Cassandra CQLSH Unrecognized COPY FROM options: 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

您的语法正确,但您的 Cassandra (cqlsh) 版本太旧。 MAXINSERTERRORS 是 2.1.13 的 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`