【问题标题】:COPY FROM says 'No records inserted in 90 seconds', but records were indeed insertedCOPY FROM 说“90 秒内没有插入记录”,但确实插入了记录
【发布时间】:2018-03-01 14:04:55
【问题描述】:

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

No records inserted in 90 seconds, aborting

但是,当我在桌子上执行select 时,我发现实际上添加了一些行。这发生在一个新创建的表上,无论我先尝试导入哪个文件。

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

我正在使用 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:Here

【问题讨论】:

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

标签: cassandra cql cqlsh cassandra-3.0


【解决方案1】:

我对您的解决方案为什么不起作用的猜测可能是由于您使用了列名,例如“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 更快地加载数据。

【讨论】:

    【解决方案2】:

    使用COPY 导入大型csv 文件时,我遇到了类似的问题。但是,在我的情况下,该过程没有将任何行导入表中。

    有问题的表有一些使用UDTs 的列,我认为这会大大降低性能,从而导致超时。

    我能够通过在COPY 上使用参数,将CHUNKSIZENUMPROCESSES 设置为低于默认值(分别为100016)来解决这个问题。

    我使用的命令是COPY mytable FROM 'mytable.csv' USING HEADER=TRUE AND CHUNKSIZE=50 AND NUMPROCESSES=4。如果没有这两个额外的参数,我将无法导入文件。

    您可以找到COPY here 的不同参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多