在Cassandra中一次插入多条记录

问题描述:

我一直在研究如何在cassandra cqlsh直接控制台中插入多条记录。我发现了一些关于批处理的内容,所以我想用循环(for,while),但似乎Cassandra不支持批处理。在Cassandra中一次插入多条记录

如何插入多个记录直接cassandra控制台?在cassandra中有类似存储过程的东西吗?

Cassandra没有(现在)有存储过程,但是您应该可以通过batch statement完成此操作。基本上,您应该能够封装BEGIN BATCHAPPLY BATCH声明中的多个INSERT。这个例子来自于批量操作的DataStax文档。

BEGIN BATCH 
    INSERT INTO purchases (user, balance) VALUES ('user1', -8) USING TIMESTAMP 19998889022757000; 
    INSERT INTO purchases (user, expense_id, amount, description, paid) 
    VALUES ('user1', 1, 8, 'burrito', false); 
APPLY BATCH; 

查看上面链接的文档以获取更多信息。

编辑:

如果你意思是INSERT几百万条记录一次,那么你应该考虑其他的方法。 cqlsh COPY命令是一个可行的替代方案(对于几百万条记录或更少)或1000万或更多的Cassandra Bulk Loader

+0

我给了它一个阅读,但在我的情况下,我想插入1,10,50和1亿条记录。如果我可以使用“for”或“while”,会更容易。 有没有办法使用批量插入许多记录? – 2014-11-08 15:49:11

+0

@EderCuer编辑。 – Aaron 2014-11-08 15:54:42