首页 > 解决方案 > Apache Ignite IGFS:在写入完成之前开始读取大文件

问题描述

我有一个用例,我可能正在将一个 100 G 的文件写入我的新 IGFS 存储。我想在文件末尾完成写入之前开始读取文件的开头,因为写入 100G 可能需要一两分钟。

由于我无法加速我的硬件,我想通过在我关闭我的写入流之前开始读取文件来加速软件。我有几个 GB 被写出来,所以有很多数据可以开始阅读。但是,当我为这种情况编写一个简单的测试时,我会抛出一个异常,因为当我仍在写入流时,IGFS 似乎不允许我从流中读取。不是不合理......除了我知道文件的第一段是在后台编写和完成的。

有谁知道我该如何解决这个问题?我想我可以编写一堆代码来将文件分成 500M 段之类的东西,但我希望这不会是不必要的。

标签: javaignite

解决方案


与其在 IGFS 模式下使用 Ignite,不如在标准配置中部署它——作为具有启用本机持久性的单独的以内存为中心的存储。让 Ignite 存储您在 Hadoop 中的数据子集,供需要加速的操作使用。此配置允许使用所有 Ignite API,包括 Spark 集成。


推荐阅读