Кассандра Транкейт

Kassandra Trankejt

В этой статье вы узнаете, как использовать команду Apache Cassandra TRUNCATE. Эта команда позволяет удалить все данные из таблицы, не удаляя саму таблицу или ее схему.

Проще говоря, команда TRUNCATE позволяет сбросить данные, хранящиеся в таблице, что позволяет восстановить или вставить новые данные.







Синтаксис команды Cassandra Truncate

Синтаксис команды TRUNCATE показан ниже:



TRUNCATE [ТАБЛИЦА] [keyspace.table_name]

Вы можете опустить ключевое слово TABLE в приведенном выше синтаксисе. Команда выполнит аналогичное действие.



Имейте в виду, что команда TRUNCATE отправляет команду JMX всем узлам в кластере, содержащему данные цели. Это позволяет узлам синхронизироваться и оставаться в курсе последних изменений данных. Если какой-либо из узлов в кластере не работает, команда завершится неудачно и вернет ошибку.





Создание примера таблицы и данных

Для иллюстрации мы создадим образец пространства ключей и таблицы. Команды показаны во фрагментах ниже:

cqlsh> создать пространство ключей height_info
... с репликацией = {
... 'класс': 'SimpleStrategy',
... 'replication_factor': 1};
cqlsh> ИСПОЛЬЗОВАТЬ height_info;
cqlsh:height_info> СОЗДАТЬ ТАБЛИЦУ получателей(
... твоя рука,
... текст имени пользователя,
... высота внутр.,
... ПЕРВИЧНЫЙ КЛЮЧ(id, высота));

Затем мы можем вставить образцы данных, как показано в командах ниже:



cqlsh:height_info> ВСТАВИТЬ В значения получателей (идентификатор, имя пользователя, рост) (0, 'user1', 210);
cqlsh:height_info> ВСТАВИТЬ В значения получателей (идентификатор, имя пользователя, рост) (1, 'user2', 115);
cqlsh:height_info> ВСТАВИТЬ В значения получателей (идентификатор, имя пользователя, рост) (2, 'user3', 202);
cqlsh:height_info> ВСТАВИТЬ В значения получателей (идентификатор, имя пользователя, рост) (3, 'user4', 212);
cqlsh:height_info> ВСТАВИТЬ В значения получателей (идентификатор, имя пользователя, рост) (4, 'user5', 216);

Пример операции усечения

Данные, хранящиеся в таблице до усечения, выглядят так:

ВЫБЕРИТЕ * ОТ получателей;

Мы можем обрезать таблицу, как показано ниже:

cqlsh:height_info> TRUNCATE TABLE height_info.recipients;

Наконец, мы можем подтвердить, что данные удалены из таблицы, как:

cqlsh:height_info> ВЫБЕРИТЕ * ОТ получателей;

Вы заметите, что таблица все еще существует, включая все определения схемы. Однако данные из таблицы были удалены, оставив пустую таблицу.

Имейте в виду, что операция TRUNCATE необратима. Будьте осторожны при его использовании и возможной потере данных.

Вывод

В этом посте вы узнали, как удалить все данные из таблицы с сохранением схемы таблицы с помощью команды CQL TRUNCATE.