【发布时间】:2016-04-14 11:33:17
【问题描述】:
我有一个 Java 客户端,可以将 (INSERT) 记录批量推送到 Cassandra 集群。批处理中的元素都具有相同的行键,因此它们都将放置在同一个节点中。另外我不需要事务是原子的,所以我一直在使用未记录的批处理。
每批中的 INSERT 命令的数量取决于不同的因素,但可以是 5 到 50000 之间的任何值。首先,我只是在一个批次中放入尽可能多的命令并提交。这抛出了com.datastax.driver.core.exceptions.InvalidQueryException: Batch too large。然后我使用了每批 1000 个 INSERT 的上限,然后降至 300 个。我注意到我只是在随机猜测,不知道这个限制的确切来源,这可能会在未来造成麻烦。
我的问题是,这个限制是多少?我可以修改它吗?我怎么知道一个批次可以放置多少个元素?当我的批次“满”时?
【问题讨论】:
标签: cassandra cassandra-3.0 cassandra-2.2