2016-02-15 2 views
1

Мы работаем над MySQL для миграции данных Cassandra. Мы сбрасывали данные MySQL в формат CSV и преобразовывали его в CSV Cassandra и использовали кодировку UTF-8. Когда мы импортируем Cassandra CSV, он отлично работает для одного кластера. Но для того же файла CSV он бросает следующее исключение в другом кластере для той же версии Cassandra (2.2.4)org.apache.cassandra.serializers.MarshalException exception in cassandra 2.2.4

 
message="org.apache.cassandra.serializers.MarshalException: Invalid UTF-8 bytes 56bc71d9"> 
Aborting import at record #5. Previously inserted records are still present, and some records after that may be present as well. 

Это показывает исключение для различных записей все время. Номера записей и байтовые значения несовместимы.

Мы использовали следующую команду, чтобы импортировать CSV файл

copy <TABLE> FROM <FILE> with DELIMITER = '\t' AND NULL = 'NULL' AND QUOTE = '\"' AND ESCAPE = '\\'; 

Мы проверили для некоторых решений, но большинство из них предложили «БЕРЕТ» команду. Поскольку мы используем Cassandra 2.2.4, у нас нет Cassandra-Cli для проверки команды.

Есть ли какое-либо предложение проверить проблему или возможные случаи, когда эта проблема может случиться.

+0

Есть ли внешний модуль с Кассандрой? –

+0

Спасибо за ваш комментарий. Да, мы использовали cassandra-lucene-index 2.2.4.1 (совместимый с Cassandra 2.2.4) для поиска. – Chaity

ответ

1

Существует проблема об этом в индексе cassandra lucene 2.2.4.1, который я представил.
Они уже решили это.
Просто обновите ваш Lucene код индекса
Класс com.stratio.cassandra.lucene.service.RegularCellsMapper
В методе Columns columns(ColumnFamily columnFamily)
Добавить следующий код после for (Cell cell : columnFamily) {

if (!cell.isLive()) { 
    continue; 
} 
+0

Большое спасибо за ваши усилия. Теперь он отлично работает. – Chaity

 Смежные вопросы

  • Нет связанных вопросов^_^