2017-04-22 60 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

相關問題