【发布时间】:2019-06-27 08:03:49
【问题描述】:
Spark 是否在内部使用 Map Reduce? (他自己的地图reduce)
当我第一次听到有人告诉我“Spark 使用 map-reduce”时,我很困惑,我一直都知道 spark 是 Hadoop-Map Reduce 的最大对手。
在谷歌上查询后,我发现一个网站对此做了一些太简短的解释:https://dzone.com/articles/how-does-spark-use-mapreduce
但互联网的其余部分是关于 Spark 与 Map Reduce 的。
有人向我解释说,当 spark 生成 RDD 时,数据会被拆分到不同的数据集中,如果您使用的是例如 SPAR.SQL,则查询不应该是 map reduce,例如:
select student
from Table_students
where name = "Enrique"
在内部,Spark 正在执行 map reduce 以检索数据(从不同的数据集中)。
这是真的吗?
如果我使用 Spark Mlib,使用机器学习,我总是听说机器学习与 map reduce 不兼容,因为它需要很多交互,而 map reduce 使用批处理..
在 Spark Mlib 中,Spark 内部是否也使用 Map reduce ?
【问题讨论】:
-
我认为您对 Hadoop 的 MapReduce 和 MapRecude 算法感到困惑。 Spark Mlib 仍然使用 map reduce 。所以问题可能会变成[为什么 spark 对于机器学习来说更快或更好] (stackoverflow.com/questions/32572529/…)
-
嗨@howie,好吧......“为什么火花更适合机器学习”不是我的问题,我真正的问题是:“它是真的,火花在内部使用 map reduce”你说“Spark Mlib 仍然使用 map reduce”,怎么样?我在哪里可以找到有关此的更多信息。谢谢回答
-
让我澄清一下您的问题,您知道 Spark 的 MapReduce 和 Hadoop 的 MapReduce 之间的区别吗?如果没有,这个视频有很好的答案youtube.com/watch?v=iaw5kG9q6xw。或者您的问题是 Spark Mlib 如何将 map reduce 用于机器学习程序?
-
对不起~我想更正我的回答。实际上火花使用 DAG(有向无环图)而不是传统的 mapreduce。您可以将其视为 Map Reduce 的替代方案。虽然 MR 只有两个步骤(map 和 reduce),但 DAG 可以有多个可以形成树结构的级别。所以你可以在 spark 中编写类似 mapreduce 的程序,但内部 spark 运行在 DAG 上
标签: apache-spark mapreduce apache-spark-sql rdd