以特定名称更新所有Cassandra表

时间:2017-04-22 02:38:54

标签: cassandra cassandra-2.0 cassandra-2.1 cassandra-cli

我正在尝试以特定名称开头更改我的cassandra表。 我的表以sample_1,sample_2,sample_13567,sample_adgf等开头...... 表名是随机的,但以相同的前缀开头。

我想为所有这些表添加一个新列。 有人可以使用正则表达式为表名建议更新查询。

1 个答案:

答案 0 :(得分:0)

如果你正在使用linux你可以分两步:

首先将所有alter命令生成到如下文件中:

for i in {1..13567}; do echo "ALTER TABLE sample_$i ADD test text;"; done > alter.cql

上面的命令将创建alter命令,将表test text的{​​{1}}列添加到sample_1并存储到文件sample_13567

现在您可以将cql文件加载到cqlsh中,如下所示:

alter.cql

这里

cqlsh 127.0.0.1 -u cassandra -p cassandra -k ashraful_test -f alter.cql

顺便说一下桌子太多不是个好主意 请检查此链接https://stackoverflow.com/a/33389204/2320144