具有多个Java线程时使用ApacheSpark的可行性
我正在开发一个Java应用程序,其中有大约450个线程。线程池的大小为25。每个线程的任务是调用8到9个Web服务,获取响应,解析响应XML并将提取的数据存储到数据库中。进入具有10到12列的数据库表的行总数约为30000具有多个Java线程时使用ApacheSpark的可行性,java,multithreading,apache-spark,Java,Multithreading,Apache Spark,我正在开发一个Java应用程序,其中有大约450个线程。线程池的大小为25。每个线程的任务是调用8到9个Web服务,获取响应,解析响应XML并将提取的数据存储到数据库中。进入具有10到12列的数据库表的行总数约为30000 既然这里有很多并行处理,我们是否应该在这个场景中引入ApacheSpark?维护ApacheSpark集群和所有组件会增加额外的开销吗?我们如何在这里划分问题,将其作为Apache Spark的驱动程序?这是一个相当广泛的问题,但您应该遵循以下问题: 您的任务是否在处理数据
既然这里有很多并行处理,我们是否应该在这个场景中引入ApacheSpark?维护ApacheSpark集群和所有组件会增加额外的开销吗?我们如何在这里划分问题,将其作为Apache Spark的驱动程序?这是一个相当广泛的问题,但您应该遵循以下问题:
- 您的任务是否在处理数据?它可以获取数据、操作、保存或依赖副作用
- 你的工作量是多少?一台计算机上只有一个JVM足以处理数据吗
如果第一个问题的答案是肯定的,第二个问题的答案是否定的,那么你可以考虑使用Skp.
你现在必须知道的事实是,火花:- 设计用于操作、聚合和处理数据
- 用于分布式计算
所以,如果您不使用这些特性,可以使用Akka来实现简单的并行处理,甚至是分布式处理。Spark将是数据分析、机器学习、OLAP查询和图形处理的良好解决方案目前使用Java多线程完成所有任务大约需要1小时分钟。而且数据操纵还没有达到那个程度。