在拥有多个Java线程时使用Apache Spark的可行性

时间:2017-08-04 08:05:36

标签: java multithreading apache-spark

我正在开发一个Java应用程序,其中我们有大约450个多线程。线程池的大小是25.每个线程的任务是调用8到9个Web服务,获取响应,解析响应XML并将提取的数据存储到数据库中。进入具有10到12列的数据库表的行总数约为30000.

由于这里有很多并行处理,我们是否应该为这种情况引入Apache Spark?是否需要额外的开销来维护Apache spark集群?我们如何将问题分解为Apache Spark的驱动程序?

1 个答案:

答案 0 :(得分:1)

这是一个相当广泛的问题,但您应该遵循以下问题:

  • 是你操纵数据的任务吗?它可能会获取数据,操纵,保存或依赖副作用
  • 你的工作量是多少?一台计算机上只有一个JVM足以处理数据吗?

如果你在第一个问题中有,而在第二个问题中没有,那么你可以考虑使用Spark。

你现在必须要做的事就是Spark:

  • 旨在操纵,汇总,处理数据
  • 用于分布式计算,

因此,如果您不使用这些功能,请使用例如Akka以便于并行处理,即使是以分布式方式。 Spark将是数据分析,机器学习,OLAP查询和图形处理的理想解决方案