Ошибка при загрузке файла в cassandra: в течение 90 секунд не вставлено ни одной записи, прерывание - PullRequest
0 голосов
/ 19 марта 2020

При попытке загрузить csv в таблицу cassandra я получил странную ошибку (см. Ниже). Я попытался изменить параметры COPY, такие как CHUNKSIZE (30-100) и NUMPROCESSES (2-4), но он изменил только строку, в которой нагрузка зависает (может зависнуть в 49907, 49897 и т. Д. c). Я не понимаю, почему так, файл в порядке ссылка здесь (50000 строк).

Журнал ошибок:

Error code

Мой код:

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;

Я использую Ubuntu 16.04 и cql sh 5.0.1.

1 Ответ

0 голосов
/ 19 марта 2020

Необходимо посмотреть, что происходит на стороне сервера - должны быть некоторые ошибки в system.log, et c.

Но я хочу сказать, что команда COPY обычно используется для загрузки не очень большой объемы данных. Для загрузки больших объемов данных DSBulk из DataStax может быть лучше - он работает и с Cassandra. А вот серия постов в блоге по использованию DSBulk для загрузки и выгрузки данных. В простейшем случае, когда у вас есть заголовок в файле, а имена столбцов совпадают с именами заголовков, использование может быть простым:

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