首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pycassa -通过二级索引删除多行?

pycassa -通过二级索引删除多行?
EN

Stack Overflow用户
提问于 2012-12-22 19:53:26
回答 1查看 236关注 0票数 1

我有一个列族,它有一个二级索引“指针”。如何删除具有相同“指针”值的多个行(例如abc)?

我知道的唯一选择是:

代码语言:javascript
复制
expr = create_index_expression('pointer', 'abc')
clause = create_index_clause([expr])
for key, user in cassandra_cf.get_indexed_slices(clause):
    cassandra_cf.remove(key)

但我知道这是非常低效的,如果我有数千行具有相同的“指针”值,可能会花费很长时间。还有没有别的选择?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-01 04:55:35

您可以一次删除多行:

代码语言:javascript
复制
expr = create_index_expression('pointer', 'abc')
clause = create_index_clause([expr])
with cassandra_cf.batch() as b:
    for key, user in cassandra_cf.get_indexed_slices(clause):
        b.remove(key)

这会将删除分为100个批次(默认情况下)。当批处理对象被用作上下文管理器时,一旦离开with块,它将自动处理发送任何剩余的突变。

您可以在pycassa.batch API docs中阅读有关这方面的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14002605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档