2012-06-04 51 views
2

我想弄清楚如何使用Pelops批量刪除Cassandra DB中的行。Java Pelops和Cassandra NoSQL DB:我可以批量刪除行嗎?

理想情況下,我可以指定需要刪除的行的KeyRange的。這對我的目的會很好。

然而,我的(雖然短暫)的研究是領導讓我相信,這是目前不可能。 RowDeletor只接受一個rowKey,而不是一個KeyRange。這些發現是否正確?

我應該能夠做到這一點編程方式使用我的列表功能的一個修改後的版本,但同樣,一個KeyRange的將是可取的。

+0

檢查與pycassa ...(卡桑德拉庫在Python) – samarth

回答

3

不,我不認爲你可以使用Pelops批量刪除行,其RowDeletor不參與批處理,而Mutator類只對明確命名的列進行刪除操作。

如果你看看code for Pelops' deleteColumns你可以看到它創建了一個刪除並將它添加到突變列表中,我認爲只是向該列表添加更多刪除操作將會使它們在同一批次中發佈。該getMutationList方法是受保護的,所以也許你可以做一個子類,要麼暴露了方法,或者有一種更刪除添加到列表中。

看起來你可以用赫克託做到這一點,其Mutator接口有多個走行鍵的方法,例如addDeletion(K key, String cf)addDeletion(Iterable<K> keys, String cf)。所以Cassandra應該至少支持每批次刪除多行。