我一直在研究如何在直接cassandra cqlsh控制台中插入多个记录。我找到了关于批处理的东西,所以我想用循环(for,while),但似乎Cassandra不支持批处理。
如何在直接cassandra控制台中插入多个记录?在cassandra中有类似存储过程的东西吗?
答案 0 :(得分:1)
Cassandra(此时)没有存储过程,但您应该能够使用batch statement完成此操作。基本上,您应该能够在INSERT
和BEGIN 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万或更多。