Cassandra “90秒内未插入任何记录”,但记录确实已插入

Cassandra “90秒内未插入任何记录”,但记录确实已插入,cassandra,cql,cqlsh,cassandra-3.0,Cassandra,Cql,Cqlsh,Cassandra 3.0,我使用相同的简单python脚本生成了两个.csv文件。两者都有6列,一列有365行,另一列有120行。当我尝试从较大的文件复制时,它会按预期工作,但当我对较小的文件执行相同操作时,我会得到: No records inserted in 90 seconds, aborting 然而,当我在表上进行选择时,我看到实际上添加了一些行。无论我首先尝试导入哪个文件,新创建的表都会发生这种情况 以前有人有过这个问题吗?有人知道这是什么原因吗 我使用的是cqlsh版本5.0.1、Cassandra 3

我使用相同的简单python脚本生成了两个.csv文件。两者都有6列,一列有365行,另一列有120行。当我尝试从较大的文件复制时,它会按预期工作,但当我对较小的文件执行相同操作时,我会得到:

No records inserted in 90 seconds, aborting
然而,当我在表上进行选择时,我看到实际上添加了一些行。无论我首先尝试导入哪个文件,新创建的表都会发生这种情况

以前有人有过这个问题吗?有人知道这是什么原因吗

我使用的是cqlsh版本5.0.1、Cassandra 3.11.0、CQL规范3.4.4、Ubuntu 16.04

下表:

create table rated_skills (  primary_group varchar, secondary_group varchar, tertiary_group varchar, skill varchar, person varchar, rating int, primary key ((primary_group), skill, rating, person)) with clustering order by (skill desc, rating desc);
复制命令:

copy rated_skills (primary_group, secondary_group, tertiary_group, skill, person, rating) from 'methodologies_output.csv';

不起作用的csv:

我猜您的解决方案不起作用的原因可能是,您使用了诸如“primary”之类的列名,这当然是cql中的保留字

当我的列名与你的列名相同时,我无法执行复制,在我更改前三列后,它工作得非常好:

create table rated_skills (group1 varchar, group2 varchar, group3 varchar, skill varchar, person varchar, rating int, primary key ((group1), skill, rating, person)) with clustering order by (skill desc, rating desc)
并从*.csv复制

copy 'keyspace'.rated_skills (group1, group2, group3, skill, person,rating) from 'csv.csv';

此外,请记住,如果您使用的是一个庞大的数据集,那么您可以使用sstable writer进行写入,并使用sstable LOADER更快地加载数据。

我对您的解决方案不起作用的原因的猜测可能是,您使用了诸如“primary”之类的列名,这当然是cql中的保留字

当我的列名与你的列名相同时,我无法执行复制,在我更改前三列后,它工作得非常好:

create table rated_skills (group1 varchar, group2 varchar, group3 varchar, skill varchar, person varchar, rating int, primary key ((group1), skill, rating, person)) with clustering order by (skill desc, rating desc)
并从*.csv复制

copy 'keyspace'.rated_skills (group1, group2, group3, skill, person,rating) from 'csv.csv';

此外,请记住,若您使用的是大型数据集,则可以使用sstable writer进行写入,并使用sstableloader更快地加载数据。

在使用COPY导入大型csv文件时,我也遇到了类似的问题。然而,在我的例子中,进程没有将任何行导入表中

有问题的表中有一些列使用UDT,我相信这会大大降低性能,从而导致超时

我可以通过使用COPY上的参数来解决这个问题,将CHUNKSIZE和NUMPROCESSES设置为低于默认值的值,分别为1000和16

我使用的命令是使用HEADER=TRUE、CHUNKSIZE=50和NUMPROCESSES=4从“mytable.csv”复制mytable。没有这两个额外的参数,我无法导入文件


您可以找到复制的不同参数。

在使用复制导入大型csv文件时,我遇到了类似的问题。然而,在我的例子中,进程没有将任何行导入表中

有问题的表中有一些列使用UDT,我相信这会大大降低性能,从而导致超时

我可以通过使用COPY上的参数来解决这个问题,将CHUNKSIZE和NUMPROCESSES设置为低于默认值的值,分别为1000和16

我使用的命令是使用HEADER=TRUE、CHUNKSIZE=50和NUMPROCESSES=4从“mytable.csv”复制mytable。没有这两个额外的参数,我无法导入文件


您可以找到用于复制的不同参数。

我在尝试导入大型数据集时遇到了相同的问题,在剩余行的最后0.5%处会出现此错误。您能解决这个问题吗?我在尝试导入大型数据集时遇到了相同的问题,它在剩余行的最后0.5%处给出了此错误。你能解决这个问题吗?