Как я могу удалить 20% всех строк в Кассандре, используя cqlsh

Я пытаюсь удалить несколько строк в Cassandra CQLSH, но запрос не работает, какие-либо идеи?

Delete from profile where key in (select key from profile where domain = 'personal');

1 ответ

CQL не допускает таких утверждений, как вы написали выше. Вам нужно будет написать скрипт, который выполняет один запрос в виде пейджинга и выполняет удаление по мере необходимости.

В основном процесс будет

Fetch a bunch of rows from Profile
Perform your filter
Delete those rows passing the filter
Fetch another bunch of rows
Repeat

Для этого я бы рекомендовал не использовать CQLSH и работать более напрямую с драйвером C*.

Другие вопросы по тегам