Csv 导入3行失败:ParseError-无效的行长度1应为3,不重试即放弃

Csv 导入3行失败:ParseError-无效的行长度1应为3,不重试即放弃,csv,cassandra,cqlsh,Csv,Cassandra,Cqlsh,我正在尝试导入分隔符为“|”的csv文件。我不断地犯这个错误,我像这样挣扎了两天。任何帮助都将不胜感激。详情如下 Cassandra Version: [cqlsh 5.0.1 | Cassandra 3.0.9 | CQL spec 3.4.0 | Native protocol v4] 这是我的csv: row_nr|PRD_ID|X_01 1|3170428144631014|25603.24 2|3170428144632015|25606.24 4|3170428144633017

我正在尝试导入分隔符为“|”的csv文件。我不断地犯这个错误,我像这样挣扎了两天。任何帮助都将不胜感激。详情如下

Cassandra Version:
[cqlsh 5.0.1 | Cassandra 3.0.9 | CQL spec 3.4.0 | Native protocol v4]
这是我的csv:

row_nr|PRD_ID|X_01

1|3170428144631014|25603.24
2|3170428144632015|25606.24
4|3170428144633017|25602.24
创建的键空间:

create keyspace newpqp with replication = {'class:''simplestrategy', 'replication_factor':1};
创建表:

CREATE TABLE againcheckdel(row_nr int primary key,PRD_ID bigint, X_01 decimal);
复制命令:

COPY againcheckdel(row_nr,PRD_ID,X_01) FROM 'C:\Users\skum\Documents\mytrial.csv' WITH  HEADER = 'true' AND DELIMITER = '|';
错误:

cqlsh:samplepqp> COPY againcheckdel(row_nr,PRD_ID,X_01) FROM 'C:\Users\skum\Documents\mytrial.csv' WITH  HEADER = 'true' AND DELIMITER = '|';

Using 7 child processes

Starting copy of samplepqp.againcheckdel with columns [row_nr, prd_id, x_01].
Failed to import 3 rows: ParseError - Invalid row length 1 should be 3,  given up without retries
Failed to process 3 rows; failed rows written to import_samplepqp_againcheckdel.err
Processed: 3 rows; Rate:       2 rows/s; Avg. rate:       3 rows/s
3 rows imported from 1 files in 1.091 seconds (0 skipped).

我做错了什么?请更正。

最后导入数据

确保csv中的列顺序与表中的列顺序相同。要做到这一点,请遵循以下创建表的语法

CREATE TABLE fornormal(Unnamed int,row_nr int, PRD_ID bigint, X_01 decimal, primary key (Unnamed, row_nr, PRD_ID, X_01));
cqlsh:samplepqp> select * from fornormal;

 unnamed | row_nr | prd_id | x_01
---------+--------+--------+------
下面是复制命令

COPY fornormal FROM 'C:\Users\skum\Documents\normalcsv.csv' WITH HEADER = TRUE AND DELIMITER = '|';
Using 7 child processes

Starting copy of samplepqp.fornormal with columns [unnamed, row_nr, prd_id, x_01].
Processed: 941 rows; Rate:     471 rows/s; Avg. rate:     848 rows/s
941 rows imported from 1 files in 1.111 seconds (0 skipped).
cqlsh:samplepqp> select * from fornormal;

 unnamed | row_nr | prd_id           | x_01
---------+--------+------------------+---------
     769 |    770 | 3170428150618780 | 25606.7
      23 |     24 | 3170428144646030 | 25601.9
     114 |    115 | 3170428145810120 | 25600.3

最后导入数据

确保csv中的列顺序与表中的列顺序相同。要做到这一点,请遵循以下创建表的语法

CREATE TABLE fornormal(Unnamed int,row_nr int, PRD_ID bigint, X_01 decimal, primary key (Unnamed, row_nr, PRD_ID, X_01));
cqlsh:samplepqp> select * from fornormal;

 unnamed | row_nr | prd_id | x_01
---------+--------+--------+------
下面是复制命令

COPY fornormal FROM 'C:\Users\skum\Documents\normalcsv.csv' WITH HEADER = TRUE AND DELIMITER = '|';
Using 7 child processes

Starting copy of samplepqp.fornormal with columns [unnamed, row_nr, prd_id, x_01].
Processed: 941 rows; Rate:     471 rows/s; Avg. rate:     848 rows/s
941 rows imported from 1 files in 1.111 seconds (0 skipped).
cqlsh:samplepqp> select * from fornormal;

 unnamed | row_nr | prd_id           | x_01
---------+--------+------------------+---------
     769 |    770 | 3170428150618780 | 25606.7
      23 |     24 | 3170428144646030 | 25601.9
     114 |    115 | 3170428145810120 | 25600.3

错误表明您的csv文件格式不正确。但您的csv文件似乎还可以。您导入的文件正确吗?是的,我导入的文件正确。你能给我推荐一个正确格式的csv吗?@AshrafulIslam我得到了数据。请看我的答案,非常感谢。错误表明您的csv文件格式不正确。但您的csv文件似乎还可以。您导入的文件正确吗?是的,我导入的文件正确。你能给我推荐一个正确格式的csv吗?@AshrafulIslam我得到了数据。请看我的答案,非常感谢。