2013-12-17 39 views
2

目前,我們有一個表,定義如下卡桑德拉1.2:在主鍵CQL3更新型

create table tableA(id int, 
        seqno int,      
        data text, 
        PRIMARY KEY((id), seqno)) 
        WITH CLUSTERING ORDER BY (seqno DESC); 

我們需要從int到文本更新ID列類型。我們想知道兩種方法,最合適的。

  1. ALTER TABLE tableA ALTER id TYPE varchar; (命令執行成功但是我們在讀取數據時遇到了問題,這是因爲ALTER表沒有更新id列的底層存儲?)

  2. COPY到/ from oldtable/newtable。這可行,但我們有RPC超時(我們可以更改)的問題,但這是一個跨羣集表的壞主意?

我們檢查了在線文檔,這些只是我們可以在此找到的兩個選項。還有其他選擇嗎?

感謝 保羅

回答

2

我想說的選項1是不是真的支持。如果你的整數沒有映射到實際的字符串,你會遇到問題,你可能會看到關鍵的驗證錯誤。

對於選項2,您可能只需要爲每個讀/寫複製較小的數據塊。