Apache Ignite - 从CSV文件批量加载数据时出现问题

时间:2015-07-16 13:53:19

标签: ignite

我正在针对特定用例评估Apache Ignite。我正在尝试将50 GB的数据加载到Ignite中的Cache中。我有CSV格式的数据。目前,我正在以Java Bean的形式在Java程序中读取数据,并使用Ignite中的流式API将bean添加到缓存中。我正在寻找替代方案/选项。

  1. Ignite是否有任何开箱即用的功能可以以并行方式批量加载CSV文件中的数据(读取CSV和写入缓存)?
  2. 在Java中的客户端程序中使用流式传输器API加载数据时,我看到流媒体对象一旦被添加到600MB数据并且导致客户端节点崩溃并且其他节点连续崩溃就会关闭。处理500MB数据时,数据加载工作正常。我在每个服务器中使用3个物理节点集群和2个点燃节点实例。
  3. 任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:0)

  1. 没有开箱即用的CSV流媒体。
  2. 看起来500MB后你的内存不足了。你可以用VisualVM检查你的JVM内存利用率,如果你的运行不足,可以添加更大的-Xmx值吗?

答案 1 :(得分:0)

Apache Ignite是内存缓存。你有50Gb +内存吗?

我想提出另一种解决方案。将数据从CSV加载到任何数据库,例如H2(将索引添加到关键字段以获得性能)。并配置Ignite缓存以使用链接到database + readThrough选项的缓存存储。您可以通过cache.load()加载一些数据(不是所有50Gb)。

当您的应用无法在缓存中找到密钥时,它将从底层存储中透明地获取并缓存。

您如何看待这种方法?