Обновление всех таблиц Cassandra, начиная с определенного имени
Я пытаюсь изменить свои таблицы cassandra, начиная с определенного имени. Моя таблица начинается с sample_1,sample_2,sample_13567,sample_adgf и так далее... Имена таблиц случайные, но начинаются с одинакового префикса.
Я хочу добавить новый столбец для всех этих таблиц. Может кто-нибудь предложить мне запрос на обновление, используя регулярное выражение для имен таблиц.
1 ответ
Если вы используете Linux, вы можете сделать это в два этапа:
Сначала сгенерируйте все команды alter в файл, как показано ниже:
for i in {1..13567}; do echo "ALTER TABLE sample_$i ADD test text;"; done > alter.cql
Приведенная выше команда создаст команду alter для добавления test text
колонка для таблицы sample_1
в sample_13567
и сохранить в файл alter.cql
Теперь вы можете просто загрузить файл cql в cqlsh, как показано ниже:
cqlsh 127.0.0.1 -u cassandra -p cassandra -k ashraful_test -f alter.cql
Вот
-u username
-p password
-k keyspace_name
-f file name to load
Кстати, слишком много столов не очень хорошая идея.
Проверьте эту ссылку /questions/41402502/kassandra-kakoe-razumnoe-maksimalnoe-kolichestvo-stolov/41402511#41402511