如何解决使用 Java dsl 使用 Alpakka 和 Slick 处理大表如何管理记录的提取大小以避免 OutOfMemory 问题?
我正在尝试使用 Alpakka 和 Slick 和 Postgres DB 来实现流解决方案。我正在使用 Slick 从包含数百万条记录的表中获取记录并尝试进一步处理。我在 Slick 文档中看到我们需要提供 Fetch Size 以避免内存不足问题,但没有找到如何通过 Java DSL 提供该问题。下面是我的示例代码:
final CompletionStage<Done> done = Slick.source(
session,"select ROW_NUMBER() over(),s.fname,s.lastname " +
"from student s ",(slickrow row) -> new Student(row.nextInt(),row.nextString(),row.nextString())
)
.map(s -> {
log.info("Student details,rownum={},sfname={},slname={}",s.getRowNumber(),s.getFname(),sts.getLname());
return sts;
})
.runWith(Sink.ignore(),materializer);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。