2017-04-22 57 views
0

我想改变我的cassandra表格以特定名称开头。 我的表格以sample_1,sample_2,sample_13567,sample_adgf等开头...... 表名称是随机的,但以相同的前缀开头。更新以特定名称开头的所有Cassandra表格

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

+0

我没有你的答案,但我不得不告诉你,有13500个表,更不用说超过几百个,最终会导致你痛苦的JVM堆压力的形式。只是要记住。 – MarcintheCloud

回答

0

如果您正在使用Linux可以这两步:

首先生成所有的alter命令到文件象下面这样:

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

上面的命令将创建改变命令来添加test text列表sample_1sample_13567并存储到文件alter.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 

通过有太多的路表是不是一个好主意。
检查这个链接https://stackoverflow.com/a/33389204/2320144

+0

嗨表名不是顺序的,他们是随机的,但以相同的前缀开始。例如,一些表可以有sample_rt4f和sample_123r。我试图从开发中心(cassandra ide,如sql studio)那样做。我无法通过Linux来完成,因为我没有权限服务器。 – shiva

相关问题