【问题标题】:Feasibility of using Apache Spark when having multiple Java threads拥有多个 Java 线程时使用 Apache Spark 的可行性
【发布时间】:2017-08-04 08:05:36
【问题描述】:

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

既然这里有很多并行处理,我们是否应该为这种场景引入 Apache Spark?维护 Apache Spark 集群等是否会产生额外开销?我们如何将这里的问题划分为 Apache Spark 的驱动程序?

【问题讨论】:

    标签: java multithreading apache-spark


    【解决方案1】:

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

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

    如果第一个问题是肯定的,第二个问题是否定的,那么你可以考虑使用 Spark。

    你现在必须知道的是 Spark:

    • 旨在操作、聚合和处理数据
    • 用于分布式计算,

    因此,如果您不使用这些功能,请使用例如 Akka 来轻松进行并行处理,即使以分布式方式也是如此。 Spark 将成为数据分析、机器学习、OLAP 查询和图形处理的良好解决方案

    【讨论】:

    • 目前使用 Java 多线程完成所有任务大约需要 1 小时分钟。而且数据操作没有那么大的程度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2022-01-07
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 2017-06-09
    • 2015-10-23
    相关资源
    最近更新 更多