加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 18:43:00 所属栏目:安全 来源:网络整理
导读:我有20GB的数据需要处理,所有这些数据都适合我的本地机器.我打算使用Spark或 Scala并行收集来对这些数据实现一些算法和矩阵乘法. 由于数据适合单个机器,我应该使用Scala并行集合吗? 这是真的:并行任务的主要瓶颈是将数据传送到CPU进行处理,因为所有数据都
我有20GB的数据需要处理,所有这些数据都适合我的本地机器.我打算使用Spark或 Scala并行收集来对这些数据实现一些算法和矩阵乘法.

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

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

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

解决方法

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

>真正密集的CPU处理,从我的头脑,它可能是复杂的文本解析
>稳定性 – 假设您有多个处理阶段,并且一旦您的单台机器出现故障,您不希望丢失结果.
特别重要的是,如果你有经常性的计算,而不是一次性的查询(这样,你花费在桌子上花费的时间可能会得到回报)
>流媒体 – 你以流方式从某个地方获取数据,虽然它的快照适合单机,但你必须以某种方式编排它

在你的特殊情况下

so since all of the data is as close as can be to the CPU Spark will
not give any significant performance improvement

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

Spark will have the overhead setting up parallel tasks even though it
will be just running on one machine,so this overhead is redundant in
this case ?

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

>考虑#2和#3,你需要它们吗?如果是的话,去火花或其他东西
>如果不是,请以愚蠢的方式实施处理(并行集合)
>简介并看一看.您的处理是否受CPU限制?你可以加快它,没有很多调整?如果不是,请去火花.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读