使用ExecuteAsync的Cassandra PreparedStatement用法有助于改善批量插入?

时间:2018-03-09 15:50:03

标签: cassandra cassandra-3.0

我计划使用python脚本将科学测量数据摄取到我的6节点cassandra集群中。

我已经检查了关于批量加载数据到cassandra的各种帖子和文章。但遗憾的是,所讨论的所有现状都不符合我的用例[1] [2]。但是,我在Stack Overflow上发现这篇文章似乎很有帮助。

考虑到帖子和我的十亿条记录数据,我想知道使用PreparedStatement(而不是简单语句)和execute_async的组合是否是一个好习惯。

1 个答案:

答案 0 :(得分:1)

是的,这应该有效 - 但是您需要对同时运行的异步请求的数量进行一些限制。驱动程序仅允许一些正在进行的请求,如果您提交的数量超过允许数量,则会失败。

要考虑的另一件事 - 如果您可以将数据组织成小批量(UNLOGGED),其中所有条目具有相同的分区也可以改善情况。有关优秀和良好的示例,请参阅documentation使用批次的不良做法。