Обновление всех таблиц 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

Другие вопросы по тегам