java - Apache Ignite IGFS:在写入完成之前开始读取大文件
问题描述
我有一个用例,我可能正在将一个 100 G 的文件写入我的新 IGFS 存储。我想在文件末尾完成写入之前开始读取文件的开头,因为写入 100G 可能需要一两分钟。
由于我无法加速我的硬件,我想通过在我关闭我的写入流之前开始读取文件来加速软件。我有几个 GB 被写出来,所以有很多数据可以开始阅读。但是,当我为这种情况编写一个简单的测试时,我会抛出一个异常,因为当我仍在写入流时,IGFS 似乎不允许我从流中读取。不是不合理......除了我知道文件的第一段是在后台编写和完成的。
有谁知道我该如何解决这个问题?我想我可以编写一堆代码来将文件分成 500M 段之类的东西,但我希望这不会是不必要的。
解决方案
与其在 IGFS 模式下使用 Ignite,不如在标准配置中部署它——作为具有启用本机持久性的单独的以内存为中心的存储。让 Ignite 存储您在 Hadoop 中的数据子集,供需要加速的操作使用。此配置允许使用所有 Ignite API,包括 Spark 集成。
推荐阅读
- json - 在flutter中将forEach List转换为json列表
- ranorex - Ranorex,无法绑定变量和数据源
- bc - 如何在本地环境下的unix系统上安装bc
- c++ - C ++:具有“可变”大小的多维数组类型
- r - 使用 tidymodels 未检测到调整参数
- c# - 仅允许在文本框中浮动(和负浮动)、全选、复制和粘贴(Ctrl+A、Ctrl+C、Ctrl+V)
- c# - 游戏打开时如何打开任何特定场景
- python - 如何将字符串转换为日期时间格式
- python - 从 pandas dropna 中排除特定列
- javascript - 如何导航到显示类似于 iOS 的“全屏”模式的反应原生屏幕