spring boot—如何用java在cassandra中实现批处理

a14dhokn  于 2021-06-14  发布在  Cassandra
关注(0)|答案(2)|浏览(732)

目前,我已经设置了一个项目与springboot,我可以使用 CassandraRepository 从cassandra数据库查询数据。
但现在,我遇到了一些问题:
如何将cassandra中的BatchStation与cassandrarepository一起使用?
如何创建cassandrarepository的语句?
我想用 BatchStatment.add(Statement) 实现批量查询。 MappingManager.getSession().execute(statement)

4szc88ey

4szc88ey1#

写入cassandra的最佳方法是通过并发异步写入(由datastax驱动程序支持)。
批处理操作是否包含混合分区密钥,如果是,则批处理比异步写入慢
对于混合分区批处理查询,我们实现了令牌感知的批处理语句方法,该方法在处理大量数据时表现出良好的性能。
请点击该链接了解详细信息:https://dzone.com/articles/efficient-cassandra-write

4nkexdtk

4nkexdtk2#

使用Spring版本有 CassandraBatchOperationsCassandraTemplate.batchOps() .
mappingmanager来自dataform,所以有点混淆了。虽然它不直接支持批处理(因为这样做通常是错误的),但是您可以调用 mapper.saveQuery(obj) 方法获取原始语句并将其添加到 new BatchStatement() 你创造了你自己并把它传给 Session.execute .
确保您确实需要批处理(对于原子性)。它们速度慢,价格昂贵,而且扩展性不如普通的插件。

相关问题