在Cassandra中一次插入多个记录

时间:2014-11-08 15:15:24

标签: cassandra batch-processing bulkinsert

我一直在研究如何在直接cassandra cqlsh控制台中插入多个记录。我找到了关于批处理的东西,所以我想用循环(for,while),但似乎Cassandra不支持批处理。

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

1 个答案:

答案 0 :(得分:1)

Cassandra(此时)没有存储过程,但您应该能够使用batch statement完成此操作。基本上,您应该能够在INSERTBEGIN BATCH语句中封装多个APPLY BATCH。此示例来自有关批处理操作的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命令是一个可行的替代方案(对于几百万条记录或更少)或Cassandra Bulk Loader为1000万或更多。