目前,我已经设置了一个项目与springboot,我可以使用 CassandraRepository
从cassandra数据库查询数据。
但现在,我遇到了一些问题:
如何将cassandra中的BatchStation与cassandrarepository一起使用?
如何创建cassandrarepository的语句?
我想用 BatchStatment.add(Statement)
实现批量查询。 MappingManager.getSession().execute(statement)
2条答案
按热度按时间4szc88ey1#
写入cassandra的最佳方法是通过并发异步写入(由datastax驱动程序支持)。
批处理操作是否包含混合分区密钥,如果是,则批处理比异步写入慢
对于混合分区批处理查询,我们实现了令牌感知的批处理语句方法,该方法在处理大量数据时表现出良好的性能。
请点击该链接了解详细信息:https://dzone.com/articles/efficient-cassandra-write
4nkexdtk2#
使用Spring版本有
CassandraBatchOperations
从CassandraTemplate.batchOps()
.mappingmanager来自dataform,所以有点混淆了。虽然它不直接支持批处理(因为这样做通常是错误的),但是您可以调用
mapper.saveQuery(obj)
方法获取原始语句并将其添加到new BatchStatement()
你创造了你自己并把它传给Session.execute
.确保您确实需要批处理(对于原子性)。它们速度慢,价格昂贵,而且扩展性不如普通的插件。