我正在尝试在内存中的哈希表中加载一个包含 1400 万行的大文件。每行包含三个数字 (n,m,v),其中:
- n:是用户的id(一个对象)
- m:是一个项目(一个对象)的id
- v: 是用户 n 给项目 m 的费率。
每个用户n
都有一个hashtable<item, rate>
存储用户评价的项目,每个项目都有一个hashtable<user, rate>
存储用户评价这个项目的用户。
在我的机器上,我无法将此结构加载到内存中,因此每次都会出现堆内存错误。
我试图用 hashBasedTable 替换哈希表,它允许为每个值提供两个键,但没有解决方案。此外 hashBasedTable 使我的程序慢得多。
有什么解决方案可以加载这么多数据吗?