当前位置: 首页 > 知识库问答 >
问题:

点燃数据流优化

杜元明
2023-03-14

我正在使用以下设置:

 allowOverwrite: false 
 nodeParallelOperations: 1 
 autoFlushFrequency: 10 
 perNodeBufferSize: 5000000 

我的记录大小大约是2000字节。并查看“Grid-Data-Loader-Flusher”线程状态,如下所示:

线程数平均最长持续时间网格-数据-加载器-冲洗器-#100 38 4,737,793.579 30,427,862 180,036,156

数据流的最佳配置是什么?

谢谢

共有1个答案

司马俊晖
2023-03-14

它的好处是有并行流模式的数据流。您可以通过在java Map中收集键值记录并在该Map上以并行模式调用Streamer.addData()方法来实现这一点。这是片段。

maptoStream.entrySet().parallelStream().forEach(streamer::addData);

此外,如果您将allowOverWrite设置为false,那么您就不能使用自定义流接收器来处理记录集合。在这种情况下,如果该记录已经在缓存中,它将跳过该记录。
关于buffersize,您需要等到每次buffer满后才自动将其刷新到缓存中。冲水频率来拯救你在这种情况下,它将做定期冲水。因此,无论首先满足什么条件(缓冲区变满或刷新频率达到),它都将进行刷新。我更喜欢在上面的方法调用之后调用手动刷新。
我观察到streamer可以很好地处理更大的集合,您将并行调用streamer.addData()方法。

 类似资料:
  • 我有一个关于Ignite流媒体部分的问题。 我所理解的是,这是一种将数据导入缓存的方式,但我也看到,我们可以配置流接收器来应用一些其他的自定义逻辑。 所以我尝试创建一个包含接收器的类和一个将数据注入流的类(因此在服务器模式下有2个main和2个Ignite实例),但我“只是”将数据放入流的缓存中(接收器中没有任何自定义逻辑处理)。所以,我在问我是不是错过了什么,或者是我不太理解什么是流到点燃。 如

  • 我使用codeigniter与数据,我想按一列选择。 我该怎么做? 谢谢

  • 我正在寻找apache ignite授权示例。但我在网上找不到。如果你们中的任何一个已经实现了点火授权,那么请告诉我如何执行授权。

  • 我正在使用ignite2.6,其中有数据流节点,从kafka消耗数据并放入Ignite缓存。服务器平均负载较高,吞吐量降低。 我已经尝试为缓存中定义的索引内联设置索引大小,这样可以提供良好的性能,但也增加了服务器内存利用率和较高的平均负载。请说明在这种情况下增加datastreamer线程池大小会产生什么影响。

  • 我有Ignite2.7和5节点集群。超过40Mil的数据正在生成并存储在ignite缓存中。我已经设定了3天的有效期。今天其中一个点火节点停止了,并显示如下错误。请帮助我确定并解决这个问题。 [2019-09-11 07:45:59,570][错误][TTL-Cleanup-Worker-#170][根]检测到严重系统错误。将根据配置的处理程序[hnd=stopnodeorhaltfailureh

  • 我用apache-beam做了几个测试,使用了自动缩放工作人员和1个工作人员,每次我看到启动时间大约为2分钟。是否有可能缩短启动时间,如果有,建议哪些最佳做法来缩短启动时间?