Как выполнить массовую загрузку в cassandra, отличную от метода копирования.?

StackOverflow https://stackoverflow.com//questions/25008840

  •  20-12-2019
  •  | 
  •  

Вопрос

Я использую метод копирования для преобразования csv-файла в таблицы cassandra..Но я получаю ошибку несоответствия записей..

Record 41(Line 41) has mismatched number of records (85 instead of 82)

Это происходит для всех файлов .csv, и все файлы .csv генерируются системой..

Есть какие-нибудь способы обойти эту ошибку ..?

Это было полезно?

Решение

Судя по вашему сообщению об ошибке, похоже, что команда копирования работает для вас до записи 41.Что вы используете в качестве разделителя?Разделитель по умолчанию для COPY команда - это запятая, и я готов поспорить, что в ваших данных есть несколько дополнительных запятых в строке 41.

Несколько вариантов:

  • Отредактируйте свои данные и удалите лишние запятые.
  • Измените свой csv-файл, чтобы заключить значения всех ваших полей в двойные кавычки, как COPYзначение по умолчанию QUOTE значение равно ".Это позволит вам оставить запятые в тексте.
  • Измените свой csv-файл, чтобы разделить его с помощью каналов | вместо запятой и установите значение COPY командный DELIMITER возможность |.
  • Попробуйте использовать любой из Массовый загрузчик Cassandra или утилита json2sstable чтобы импортировать ваши данные.Я никогда ими не пользовался, но готов поспорить, что у вас возникнут аналогичные проблемы, если в вашем наборе данных будут запятые.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top