2016-03-09 62 views
1

有人知道Cassandra COPY FROM命令的正確語法與分隔符和maxinserterrors?Cassandra CQLSH無法識別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)的版本太老。從2.1.13開始,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`