在cassandra中加载文件时出错:90秒内没有插入任何记录,正在中止

kokeuurv  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(373)

我在尝试将csv加载到cassandra表时遇到了一个奇怪的错误(如下所示)。我尝试更改copy的参数,例如chunksize(30-100)和numprocesses(2-4),但它只更改了加载冻结的行(可以冻结在49907、49897等)。我不明白为什么会这样,文件链接在这里是可以的(50000行)。
错误日志:

我的代码:

create keyspace hw1 with replication = {'class' : 'SimpleStrategy', 'replication_factor':1};

CREATE TABLE hw1.product_reviews
(
    product_id      text,
    review_id       text,
    review_headline text,
    review_body     text,
    review_date     date,
    star_rating     int,
    PRIMARY KEY (product_id, review_id)
);

COPY hw1.product_reviews (product_id, review_id, review_headline, review_body, review_date, star_rating) from 'product_reviews.csv' with DELIMITER='\t' AND HEADER=TRUE;

我使用的是ubuntu16.04和cqlsh5.0.1。

goucqfw6

goucqfw61#

有必要看看服务器端发生了什么-应该有一些错误 system.log 等等。
但我想说的是,copy命令通常用于加载不太大的数据量。对于加载更大数量的数据,datastax的dsbulk可能更好——它也适用于cassandra。下面是一系列关于使用dsbulk进行数据加载和卸载的博客文章。在最简单的情况下,当文件中有标头,并且列名与标头名称匹配时,用法可以简单到:

dsbulk load -k hw1 -t product_reviews -url filename.csv

相关问题