首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单通计算与多通计算的区别

单通计算与多通计算的区别
EN

Stack Overflow用户
提问于 2019-10-16 07:28:31
回答 2查看 578关注 0票数 1

我正在读一篇关于Apache Spark的文章,我发现了以下几句话:

Hadoop作为一种大型数据处理技术已经存在了10年,并已被证明是处理大数据集的首选解决方案。MapReduce是一种很好的单通计算解决方案,但对于需要多通计算和算法的用例来说并不是非常有效。(整篇文章)

搜索web生成关于一次通过编译器和多通道编译器之间差异的结果(例如,请参阅这个问题)。

但是,我不太确定答案是否也适用于数据处理。有人能解释一下什么是单通计算和多通计算吗?为什么后者更好,因而在火花中使用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-16 08:23:46

地图缩减

来源:https://www.guru99.com/introduction-to-mapreduce.html

在这里您可以看到,输入文件按以下方式处理。

  1. 首次分裂
  2. 进入映射阶段
  3. 洗牌
  4. 减速器

在Map-约简范式中,在每个阶段之后,中间结果被写入磁盘。另外,Mapper和Reducer是两个不同的过程。也就是说,首先,mapper作业运行,然后释放映射文件,然后启动还原作业。在每个阶段,作业都需要资源分配。因此,一个单一的映射-减少作业需要多次迭代。如果您有多个映射阶段,则在每个映射之后,需要在其他映射任务开始之前将数据吐出磁盘。这是多步过程.

数据处理工作流中的每一步都有一个Map阶段和一个缩减阶段,您需要将任何用例转换为MapReduce模式以利用此解决方案。

火花

另一方面,星火只进行一次资源协商。一旦谈判完成,它就会产生所有的执行者,并在整个任期内保留下来。在执行过程中,spark不会将Map阶段的中间输出写入磁盘,而是保存在内存中。因此,所有映射操作都可以在不写入磁盘或生成新的执行程序的情况下背靠背进行。这是一个步骤过程。

星火允许程序员使用有向无环图(DAG)模式开发复杂的多步骤数据管道.它还支持跨DAG之间的内存中数据共享,以便不同的作业可以处理相同的数据。

票数 2
EN

Stack Overflow用户

发布于 2019-10-16 08:11:39

一次传递计算是当您读取数据集一次时,而多通计算是指从磁盘读取一次数据集,并且在同一数据集上进行多次计算或操作。Apache处理框架允许您读取数据一次,然后将其缓存到内存中,然后我们可以对数据执行多次传递计算。这些计算可以在dataset上快速完成,因为数据被显示在机器的内存中,而且apache不需要再次从磁盘读取数据,这有助于我们节省大量的输入输出操作时间。根据apache的定义,它是一个内存处理框架,这意味着计算所用的数据和转换在内存本身中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58407978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档