Как очистить данные во всех таблицах пространства ключей в cassandra?

#cassandra #cql

#кассандра #cql

Вопрос:

В настоящее время я пишу тесты в golang и хочу избавиться от всех данных таблиц после завершения тестов. Мне было интересно, можно ли очистить данные всех таблиц в cassandra.

К вашему сведению: я использую версию Cassandra 3.11.

Комментарии:

1. Вы можете обрезать таблицу, чтобы удалить все данные из таблицы.

2. Да, это круто, и я это знаю, но то, что я хочу, — это усечь несколько таблиц одновременно. Мое условие заключается в том, что я пишу в несколько таблиц и хочу очистить их сразу

Ответ №1:

Термин «очистка» в данном случае неоднозначен.

В Cassandra «очистка» — это операция, при которой данные «сбрасываются» из памяти и записываются на диск в виде SSTables. Очистка может происходить автоматически на основе определенных триггеров или может быть выполнена вручную с nodetool flush помощью команды.

Однако, основываясь на вашем описании, вы хотите «обрезать» содержимое таблиц. Вы можете сделать это с помощью следующей команды CQL:

 cqlsh> TRUNCATE ks_name.table_name
  

Вам нужно будет выполнить итерацию по каждой таблице в пространстве ключей. Для получения дополнительной информации см. Команду CQL TRUNCATE . Приветствия!

Комментарии:

1. Есть ли возможность обрезать несколько таблиц одновременно?

2. На самом деле вопрос был неправильным, потому что я пришел из Django, и это было возможно с django и PostgreSQL. На самом деле в любом случае лучше обрезать каждую отдельную таблицу

3. Нет, нет. Вам нужно усекать по одной таблице за раз. Приветствия!