Spring数据/ Cassandra批量插入

时间:2018-10-20 19:25:32

标签: spring-boot cassandra spring-data

我必须在带有弹簧数据的cassandra db表中插入数千行。 最快的最好方法是什么。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

最快的方法是使用AsyncCqlTemplate来执行异步操作,而不是“标准”同步操作(这里是full example)。

AsyncCassandraTemplate asyncTemplate = new AsyncCassandraTemplate(session);
ListenableFuture<Klass> future = asyncTemplate.insert(klass_instance);

但是您需要确保您不使连接超载-您需要某种计数信号量,该信号量在当时不会超过X个查询。您可能还需要调整connection pooling parameters-例如,将正在进行中的请求的数量增加到比标准1024更高的数量...

P.S。不要尝试使用批处理!在批量处理中只有相同分区的数据之前,将使插入速度变慢,而不是更快。