我正在Scala..中用火花GraphX执行Pregel算法。
我的图表包含一百万个节点,它们之间有五百万个边。我的集群非常强大,有几台用于BigData的服务器,每个服务器都有256 My的内存。
我有一个"Java错误“在洗牌阶段,在执行过程中,经过超过20分钟的处理:任务丢失了.我将分析这些参数:
发布于 2016-05-01 10:23:40
我的分析结论和我所使用的优化:
我发现了我的主要问题:保存“已知好信息”的每个节点中的List是不变的。
解决方案:我应该使用ListBuffer (可变的)。另外,我应该使用.append()方法,而不是.++()方法,因为这个方法创建了列表的一个新实例。
关于scala中集合的更多信息:http://docs.scala-lang.org/overviews/collections/performance-characteristics
现在的性能比现在快10倍多,内存错误也不会出现。
https://stackoverflow.com/questions/36965547
复制相似问题