#database #cassandra #cql #elassandra
#База данных #кассандра #cql #elassandra
Вопрос:
Я написал неправильную команду обновления.
update table_name set col_val = 'x' where PRI_KEY_1 IN ( 50 values ) and PRI_KEY_2 IN ( 50 values ) and CLUSTER_KEY IN ( 10 Values );
Это создало 40000 записей, где было только 150. Я вижу только столбцы, упомянутые в запросе — PRI_KEY_1, PRI_KEY_2 и CLUSTER_KEY обновляются в этих дополнительных 39850.
Теперь мне нужна помощь в удалении всех этих 39850 записей. Пожалуйста, помогите.
Комментарии:
1. ОБНОВЛЕНИЕ не создает строк.
2. Я вижу 40000 созданных записей.
3.
INSERT
создает / вставляет строки.UPDATE
обновляет строки.4. @jarlh Кассандра обрабатывает все записи (вставки, обновления и удаления) одинаково. Таким образом, Cassandra позволяет обновлять значение с помощью INSERT и вставлять строки с помощью UPDATE.
5. И УДАЛЕНИЕ строк с помощью ВСТАВКИ?
Ответ №1:
К сожалению, для этого нет быстрого решения.
Вам нужно будет перебрать эти записи и выдать DELETE
.
Комментарии:
1. Вы имеете в виду удалить запись 39850??? вводом каждой команды
2. Вы можете написать сценарий, но да. Волшебной палочки не существует. Извините.
3. и последнее, как запустить скрипт в cassandra? Я имею в виду, можем ли мы запустить его, когда ./cqlsh запущен?
4. @CaptainLevii на самом деле вы не можете запустить скрипт в Cassandra. Эрик говорит, что вам придется «прописывать» логику, используя что-то вроде Python.
5. Плюс 1 к ответу @Aaron. 🙂