1
我正在將初始數據(爬蟲的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;
}
謝謝!問題就是這樣 – Anton