2

Pelopsを使用してCassandraDBの行をバッチ削除する方法を理解しようとしています。

理想的には、削除する必要のある行のKeyRangeを指定できます。それは私の目的にはうまくいくでしょう。

しかし、私の(簡単ではありますが)調査により、これは現在不可能であると私は信じています。RowDeletorはrowKeyのみを受け取り、KeyRangeは受け取りません。これらの調査結果は正しいですか?

List関数の1つの修正バージョンを使用してプログラムでそれを実行できるはずですが、繰り返しになりますが、KeyRangeの方が望ましいでしょう。

4

1 に答える 1

3

いいえ、Pelops で行をバッチ削除できるとは思いません。RowDeletorバッチには参加せず、Mutatorクラスには明示的に名前が付けられた列の削除操作しかありません。

Pelops のコードをdeleteColumns見ると、削除が作成されてミューテーションのリストに追加されていることがわかります。そのリストに削除を追加するだけで、同じバッチで発行されると思います。メソッドは保護されているため、おそらくそのgetMutationListメソッドを公開するか、リストに削除を追加する方法を持つサブクラスを作成できます。

Hectorでできるようです。そのMutatorインターフェースには、複数の行キーを取るメソッドがaddDeletion(K key, String cf)ありaddDeletion(Iterable<K> keys, String cf)ます。そのため、Cassandra は少なくともバッチごとに複数の行を削除できるようにする必要があります。

于 2012-06-04T21:21:24.223 に答える