我已经开始学习Apache Spark,并对框架印象深刻.虽然一件事一直困扰我的是,在所有Spark介绍他们谈论如何星火缓存需要相同的数据比其他方法,如地图,减少快RDDS,因此多个操作.
所以我的问题是,如果是这种情况,那么只需在Yarn/Hadoop等MR框架中添加一个缓存引擎.
为什么要一起创建一个新框架?
我相信我在这里遗漏了一些东西,你可以给我一些文件,让我更多地了解火花.
阅读了什么是配置单元之后,它是数据库吗?,一位同事昨天提到,他能够在进行“分组依据”后过滤一个15B表,并将其与另一个表联接,仅10分钟就产生了6B条记录!我想知道这在Spark中是否会更慢,因为现在与DataFrames相比,它们是否具有可比性,但我不确定,因此是问题所在。
Hive比Spark快吗?还是这个问题没有意义?对不起,我的无知。
他使用的是最新的Hive,这似乎是在使用Tez。
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吗?