【问题标题】:Java Pelops and Cassandra NoSQL DB: Can I Batch Delete Rows?Java Pelops 和 Cassandra NoSQL DB:我可以批量删除行吗?
【发布时间】:2012-06-08 18:32:10
【问题描述】:

我正在尝试弄清楚如何使用 Pelops 批量删除 Cassandra DB 中的行。

理想情况下,我可以指定需要删除的行的 KeyRange。这对我的目的来说很好。

但是,我的(尽管很简短)研究让我相信这目前是不可能的。 RowDeletor 只接受 rowKey,而不接受 KeyRange。这些发现是否正确?

我应该能够使用我的 List 函数之一的修改版本以编程方式执行此操作,但同样,KeyRange 会更可取。

【问题讨论】:

  • 检查 pycassa...(Python 中的 Cassandra 库)

标签: java cassandra pelops


【解决方案1】:

不,我不认为你可以用 Pelops 批量删除行,它的 RowDeletor 不参与批量,Mutator 类只对显式命名的列进行删除操作。

如果您查看code for Pelops' deleteColumns,您会看到它创建了一个删除并将其添加到突变列表中,我认为只需在该列表中添加更多删除将使它们在同一批次中发布。 getMutationList 方法是受保护的,所以也许您可以创建一个子类来公开该方法,或者有办法向列表中添加更多删除。

看起来你可以用 Hector 来做到这一点,它的Mutator 接口具有采用多个行键的方法,例如addDeletion(K key, String cf)addDeletion(Iterable<K> keys, String cf)。所以 Cassandra 至少应该支持每批删除多行。

【讨论】:

    猜你喜欢
    • 2022-12-15
    • 2015-01-04
    • 2015-03-16
    • 2012-11-22
    • 1970-01-01
    • 2020-02-06
    • 2015-08-25
    • 2014-09-14
    • 2010-10-03
    相关资源
    最近更新 更多