Я загружаю исходные данные (список URL-адресов для сканера) в Cassandra со статусом обхода = 0. Затем, используя Hadoop, я просматриваю все ссылки и пытаюсь изменить значение обхода с 0 на что-то другое, например 1, 2 или 3. Когда я проверяю интерфейс Cassandra cli, получаю ColumnFamily['www.somedomain.com'] значение обходчика столбец остается прежним. Если при первоначальном импорте я не упомянул столбец для обхода, он добавляется правильно. Это только одна часть алгоритма, и мне нужны дальнейшие обновления этого столбца с другими заданиями Map/Reduce и т. д.
В Thrift и Cassandra API сказано, что у нас есть только вставки и удаления. Вставка должна работать как обновление.
Для просканированного столбца у меня есть тип UTF8.
Класс мутации выглядит так:
private static Mutation getMutationCrawled(Text crawledVal)
{
Text column = new Text();
column.set("crawled");
Column c = new Column();
c.setName(ByteBuffer.wrap(Arrays.copyOf(column.getBytes(), column.getLength())));
c.setValue(ByteBuffer.wrap(crawledVal.getBytes()));
c.setTimestamp(System.currentTimeMillis());
Mutation m = new Mutation();
m.setColumn_or_supercolumn(new ColumnOrSuperColumn());
m.column_or_supercolumn.setColumn(c);
return m;
}