Как сделать удаление строк на основе индексированного столбца в Кассандре
Текущий подход, который я использую для удаления строк на основе индексированного столбца
- Выберите запрос с лимитом 100.
- Если есть строки Удалите все выбранные строки одну за другой.
- Сбросить менеджер сущностей.
- Переходите к шагу 1.
Использование cassandra 2.1.8 и kundera-cassandra-ds-driver для извлечения строк из Кассандры.
Есть ли способ запустить запрос на удаление из Кундеры.
1 ответ
Решение
Вы можете сделать следующее:
Query findQuery = entityManager.createQuery("Delete from PersonCassandra p where p.age = 10",
PersonCassandra.class);
findQuery.setMaxResults(5000);
findQuery.executeUpdate();
PS: Cassandra не позволяет удалять строки, основанные на неосновных ключах, Kundera обрабатывает это внутренне аналогично тому, как вы это делаете.