メモリ内のハッシュテーブルに1400万行の大きなファイルをロードしようとしています。各行には3つの数字(n、m、v)が含まれています。ここで、
- n:ユーザー(オブジェクト)のIDです
- m:アイテム(オブジェクト)のIDです
- v:ユーザーnがアイテムmに与えるレートです。
各ユーザーn
には、ユーザーが評価したアイテムを保存するためのhashtable<item, rate>
があり、各アイテムには、hashtable<user, rate>
このアイテムを評価したユーザーを保存するためのがあります。
私のマシンでは、この構造をメモリにロードできないため、毎回ヒープメモリエラーが発生します。
ハッシュテーブルをhashBasedTableに置き換えようとしました。これにより、値ごとに2つのキーが許可されますが、解決策はありません。さらに、hashBasedTableは私のプログラムをはるかに遅くしました。
この大量のデータをロードできるようにするための解決策はありますか?