我意识到这可能是一个非常广泛的问题,但这是我的问题:我在Java中开发了一个Spark应用程序,它使用算法分析通过套接字连接接收的几个JSON消息(每个大小为1kB),一秒间隔。 我只使用了6种映射方法,但是里面的函数有几个循环,每个循环最多可以运行1000次(甚至有一些情况我在循环中有一个循环,导致它们运行1000 * 1000次总)。
我在本地模式下运行应用程序,即只使用一个节点(我假设)来执行Spark任务和作业。
这里的问题是我花了7分钟处理这些消息之一,这是一个疯狂的时间,并导致很大的调度延迟。
考虑到我的算法的复杂性+在本地模式下运行+可能是一些内存泄漏,这是正常的吗? 如果是这样,我该如何进行提高吞吐量?
不知道它是否有帮助,但这里有一些我的电脑规格:
处理器:Intel Core i5,2.60GHz RAM:3.87GB可用内存 64位操作系统
非常感谢你。