gpt4 book ai didi

scala - Scala 背后的可索引数据结构便于理解

转载 作者:行者123 更新时间:2023-12-02 04:33:25 26 4
gpt4 key购买 nike

我刚刚在 Coursera 上观看了 Martin Odersky 关于 Scala 的讲座的第 6 周。在第五讲中他说

“...for的翻译不限于列表或序列,甚至集合;

它仅基于 ma​​p、flatMap 和withFilter.

这也允许您将 for 语法用于您自己的类型 – 您必须只为这些类型定义 map、flatMap 和 withFilter。”

我试图解决的问题是我们有一个批处理过程,它从几个数据库加载数据,组合数据并以某种方式导出结果。数据足够小,可以容纳在内存中(每个源系统有几个 100,000 条记录),但又足够大,因此考虑性能很重要。

我可以使用传统的内存数据库(如 H2)并通过 ScalaQuery 或类似的东西访问它,但我真正需要的只是一种能够有效搜索和连接来自不同源系统的数据的方法 - 相等SQL 的索引和 JOIN。使用成熟的关系数据库 + Scala ORM 来解决一些可以通过 Scala 原生数据结构轻松有效地解决的问题确实很尴尬。

我的第一个天真的方法是向量数据结构(用于快速直接访问)与一个或多个“索引”(可以像数据库系统中一样实现为 B 树)。这种组合数据结构的map、flatMap、withFilter方法可能足够智能,可以使用索引(如果它们有用于查询字段的索引),或者它们可以有“提示”以使用索引。

我只是想知道这样的数据结构是否已经存在并且可用,或者我是否需要自己实现它们? Scala 是否有一个库或集合框架可以解决这个问题?

最佳答案

不在标准库中(当然,除了 Vector),而且我不知道有任何非标准库提供它们。

关于scala - Scala 背后的可索引数据结构便于理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com