我的应用程序需要使用大小高达5 GB的文本文件中的数据。我无法将所有这些数据加载到RAM中,因为它太大了。如何在Java中处理大数据?
数据存储为一个表格,500万条记录(行)和40列,每个记录包含将在内存中转换为字符串,整数或双精度的文本。
我试过缓存只有10 - 100 MB的数据在内存中,并从文件重新加载时,我需要外面的数据,但它太慢了!当我运行计算时,因为我可以从表中的任意行随机跳转,它将不断需要打开文件,读取和关闭。
我需要的东西很快,我正在考虑使用某种数据库。我知道像这样的大数据计算可能需要一段时间,这很好。如果我使用数据库,则需要在启动桌面应用程序时进行设置,而不需要以前安装某种服务器组件。
任何提示?谢谢
您应该使用SQLite。 – SLaks
记录是否有固定大小?外部数据库系统是可接受的解决方案吗? – Joni
不是一个固定的大小,可以随时更改我加载一个不同的文件。 – user2704766