如何解决在 Hazelcast 中将 BatchStage<List<Object>> 转换为 BatchStage<Object>
在我的 hazelcast jet 应用程序中,我正在执行分组连接,然后我得到了结果
BatchStage 格式,但我想将其转换为 BatchStage,我尝试过 flatMap,但它覆盖了一些我不希望的键,我希望将所有对象单独存储。
我的代码:
BatchStage<Object> bd = jdbcBatchStageData.flatMap(list -> Traversers.traverseArray(list.toArray()));
我知道 flatMap 会替换一些键,但是如何在 BatchStage 中单独存储所有对象,以便它们不会覆盖任何键。
Object 等于 Map
解决方法
根据您的数据形式(您没有提供),这里的建议可能需要进行一些调整:
jdbcBatchStageData.flatMap(list -> Traversers.traverseArray(list.toArray()))
.groupingKey(ByKey)
.aggregate(AggregateOperations.toList())
- Flat 将不同的列表映射为单独的项目
- 按键分组(需要定义
ByKey
函数` - 聚合结果,这样你就得到了一批
Map.Entry<K,List>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。