Я загружаю данные из одной из моих таблиц Кассандры в новую таблицу с измененным ключом раздела.В качестве первого шага я взял дамп текущей таблицы в CSV-файл.Впоследствии я использовал CQLSSTableWriter для генерации sstables, как показано ниже.
// Prepare SSTable writer
CQLSSTableWriter.Builder builder = CQLSSTableWriter.builder();
// set output directory
builder.inDirectory(outputDir)
// set target schema
.forTable(SCHEMA)
// set CQL statement to put data
.using(INSERT_STMT)
// set partitioner if needed
// default is Murmur3Partitioner so set if you use different one.
.withPartitioner(new Murmur3Partitioner());
CQLSSTableWriter writer = builder.build();
// ...snip...
while ((line = csvReader.read()) != null)
{
writer.addRow(DATE_FORMAT.parse(line.get(0)),
UUID.fromString(line.get(1)),
line.get(2),
line.get(3),
line.get(4),
Long.parseLong(line.get(5)),
line.get(6));
}
writer.close();
Проблема возникает, когда в моей таблице csv / существующие есть нулевые значения.
После загрузки sstables в cassandra я вижу многопредупреждения, связанные с надгробиями.Можно ли как-нибудь избавиться от надгробий?