首页 > 解决方案 > 如何使用 Java 在 cassandra 中实现批处理

问题描述

目前,我已经用springboot建立了一个项目,我可以使用它CassandraRepository来查询cassandra数据库中的数据。

但是现在,我遇到了一些问题:

  1. 如何将 cassandra 中的 BatchStatment 与 CassandraRepository 一起使用?
  2. 如何通过 CassandraRepository 创建 Statement?

我想用来BatchStatment.add(Statement)实现批量查询。 MappingManager.getSession().execute(statement)

标签: javaspring-bootcassandrabatch-processing

解决方案


要使用 Springs 版本,请CassandraBatchOperations参阅CassandraTemplate.batchOps().

MappingManager 来自 DataStax ORM,所以它有点混淆了。虽然它不直接支持批处理(因为这通常是错误的做法),但您可以调用该mapper.saveQuery(obj)方法来获取原始 Statement 并将其添加到new BatchStatement()您自己创建的语句中并将其传递给Session.execute.

确保您确实需要批次(为了原子性)。它们速度慢,价格昂贵,并且不能像普通刀片那样扩展。


推荐阅读