Enr*_*ado 2 mapreduce apache-spark rdd apache-spark-sql
Spark内部使用MapReduce吗?(自己的地图缩小)
当我第一次听到有人告诉我“Spark 使用 Map-Reduce”时,我很困惑,我总是知道 Spark 是 Hadoop Map-Reduce 的替代品。
在我检查谷歌后,我发现一个网站对此做了一些太简短的解释: https: //dzone.com/articles/how-does-spark-use-mapreduce
但互联网的其余部分仅比较 Spark 和 Map-Reduce。
然后有人向我解释说,当 Spark 创建 RDD 时,数据会分割到不同的数据集中,如果您使用例如 SPAR.SQL 的查询,则不应是映射缩减,例如:
select student
from Table_students
where name = "Enrique"
Run Code Online (Sandbox Code Playgroud)
Spark 内部正在执行映射缩减来检索数据(来自不同的数据集)。
这是真的 ?
如果我使用 Spark Mlib 来使用机器学习,我总是听说机器学习与 MapReduce 不兼容,因为它需要很多交互,而 MapReduce 使用批处理。
在Spark Mlib中,Spark内部也使用Map reduce吗?
Spark 具有先进的有向无环图 (DAG) 引擎,支持循环数据流。每个 Spark 作业都会创建一个要在集群上执行的任务阶段的 DAG。与 MapReduce 创建具有两个预定义阶段(Map 和 Reduce)的 DAG 相比,Spark 创建的 DAG 可以包含任意数量的阶段。DAG 是 MapReduce 模型的严格概括。这使得某些作业比 MapReduce 中更快地完成,简单的作业只需一个阶段即可完成,而更复杂的任务则在多个阶段的单次运行中完成,而不必拆分为多个作业。
所以,Spark可以编写map-reduce程序,但实际上在内部使用DAG。
参考:
| 归档时间: |
|
| 查看次数: |
6009 次 |
| 最近记录: |