2016-03-09 1 views
1

Кто-нибудь знает правильный синтаксис для команды Cassandra COPY FROM с разделителем и maxinserterrors?Cassandra CQLSH Unrecognized COPY FROM options: maxinserterrors

Я пытаюсь запустить его следующим образом:

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 

ответ

2

Ваш синтаксис является правильным, но ваша версия Кассандры (cqlsh) является слишком старый. MAXINSERTERRORS - это новый вариант в отрасли 2.1 с 2.1.13: 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`