2016-04-22 4 views
0

Мне нужно очистить данные из столбца таблицы, используя CQL Я пробовал следующий тест на одном узле, и он отлично работает.Cassandra CQL 3.2.1 Очистить данные столбца

Но разве это будет летать на многих узлах и разных факторах репликации?

DROP KEYSPACE IF EXISTS testColumnDrop; 

CREATE KEYSPACE testColumnDrop WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; 

USE testColumnDrop; 

CREATE TABLE contracts (
    id varchar PRIMARY KEY, 
    licenses varchar 
); 

INSERT INTO contracts(id, licenses) VALUES('one', '{"number":"1.0"}'); 
INSERT INTO contracts(id, licenses) VALUES('two', '{"number":"2.0"}'); 
INSERT INTO contracts(id, licenses) VALUES('three', '{"number":"3.0"}'); 

SELECT * FROM contracts; 

ALTER TABLE contracts DROP licenses; 

ALTER TABLE contracts ADD licenses varchar; 

SELECT * FROM contracts; 

ответ

0

Я попробовал его с помощью докеру и кластером из трех узлов, работал нормально

1

От DataStax Документации:

ALTER DROP удаляет столбец из определения таблицы, удаляет данные , относящиеся к этому колонку, и в конце концов высвобождает место ранее , используемое в колонке. Столбец недоступен для немедленного запроса после его удаления. Фактическое удаление данных происходит во время уплотнения; данные не включены в SSTables в будущем. Чтобы принудительно удалить отброшенных столбцов до того, как произойдет уплотнение, используйте команду nodetool , а затем инструкцию ALTER TABLE, которая обновляет метаданные таблицы, чтобы зарегистрировать падение.

После повторного добавления отброшенного столбца запрос не возвращает значения , написанные до окончательного удаления столбца. Не добавляйте лишний столбец в таблицу, используя временные метки, предоставленные клиентом, которые не являются Время записи Cassandra.

Вы не можете удалить столбцы из таблиц, определенных с помощью опции COMPACT STORAGE .

Надеется, что это помогает

+0

да я прочитал, что, не зная его достаточно специфичны для выше - я запустить скрипт на кластер узлов дерева и работает отлично - но спасибо, хорошо иметь это здесь для справки –

 Смежные вопросы

  • Нет связанных вопросов^_^