加載模式後,我必須在BATCH中運行以下插入查詢1000次。有沒有辦法在cql文件cassandra中應用循環?
INSERT INTO keyspace.messages (messageid, message) VALUES
(uuid(), 'random');
我目前的實施是一個radom.cql
文件,其中有1000個條目類似下面的腳本。然後使用SOURCE命令在模式上傳後應用它們。
BEGIN BATCH
INSERT INTO keyspace.messages (messageid, message) VALUES (uuid(), 'random');
INSERT INTO keyspace.messages (messageid, message) VALUES (uuid(), 'random');
INSERT INTO keyspace.messages (messageid, message) VALUES (uuid(), 'random');
...till 1000 times
APPLY BATCH;
有沒有更好的方法來達到同樣的效果?
沒辦法真正做到這一點。但你應該擺脫BEGIN/APPLY BATCH語句。你正在做的是讓Cassandra指定一個節點來協調1000個INSERT到剩下的所有節點。如果你不小心,這是殺死節點的好方法。 – Aaron
感謝您的建議亞倫。應用批量多分區數據條目並不好。 – Laxmikant