如果数据适合单个机器,那么使用Spark是否有意义?

 xiaozhao 发布于 2023-01-12 18:25

我有20GB的数据需要处理,所有这些数据都适合我的本地机器.我打算使用Spark或Scala并行收集来对这些数据实现一些算法和矩阵乘法.

由于数据适合单个机器,我应该使用Scala并行集合吗?

这是真的:并行任务的主要瓶颈是将数据传送到CPU进行处理,因为所有数据都尽可能接近CPU,因此Spark不会带来任何显着的性能提升吗?

即使它只是在一台机器上运行,Spark也会设置并行任务的开销,所以这种开销在这种情况下是多余的?

1 个回答
  • 很难提供一些非显而易见的指令,比如你有你的数据并且没有达到80%的内存和......,然后使用本地模式.说到这一点,有一些要点,即使你的数据适合一个人的机器内存,一般来说,这可能会让你使用spark:

      真正密集的CPU处理,从我的头脑,它可能是复杂的文本解析

      稳定性 - 假设您有多个处理阶段,并且在单台机器出现故障时您不希望丢失结果.特别重要的是,如果你有经常性的计算,而不是一次性的查询(这样,你花费在桌子上花费的时间可能会得到回报)

      流 - 你以流方式从某个地方获取数据,虽然它的快照适合单机,但你必须以某种方式编排它

    在你的特殊情况下

    因此,由于所有数据都与CPU相近,因此Spark不会带来任何显着的性能提升

    当然不是,Spark不是巫术魔术,不知何故可以让你的数据更接近CPU,但它可以帮助你在机器之间扩展,从而缩小CPU(点#1)

    即使它只是在一台机器上运行,Spark也会设置并行任务的开销,所以这种开销在这种情况下是多余的?

    我可能听起来很明显,但是

      考虑#2和#3,你需要它们吗?如果是的话,去火花或其他东西

      如果不是,请以愚蠢的方式实施处理(并行集合)

      简介并看一看.您的处理是否受CPU限制?你可以加快它,没有很多调整?如果不是,请去火花.

    我为什么要使用Spark的列表中还有[厚颜无耻]第4点).这是炒作 - Spark是一种非常性感的技术,很容易"销售"给你的开发者(它是大数据的最前沿)和公司(你的老板,如果你正在建立自己的产品,你的客户如果你正在为别人建造产品).

    2023-01-12 18:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有