Как выполнить массовую загрузку в cassandra, отличную от метода копирования.?
-
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 чтобы импортировать ваши данные.Я никогда ими не пользовался, но готов поспорить, что у вас возникнут аналогичные проблемы, если в вашем наборе данных будут запятые.
Не связан с StackOverflow