在Cassandra中一次插入多条记录
问题描述:
我一直在研究如何在cassandra cqlsh直接控制台中插入多条记录。我发现了一些关于批处理的内容,所以我想用循环(for,while),但似乎Cassandra不支持批处理。在Cassandra中一次插入多条记录
如何插入多个记录直接cassandra控制台?在cassandra中有类似存储过程的东西吗?
答
Cassandra没有(现在)有存储过程,但是您应该可以通过batch statement完成此操作。基本上,您应该能够封装BEGIN BATCH
和APPLY 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。
我给了它一个阅读,但在我的情况下,我想插入1,10,50和1亿条记录。如果我可以使用“for”或“while”,会更容易。 有没有办法使用批量插入许多记录? – 2014-11-08 15:49:11
@EderCuer编辑。 – Aaron 2014-11-08 15:54:42