小编Sum*_*jee的帖子

flatMap与map的效率之后是Spark中的reduce

我有一个包含多行文本的文本文件sherlock.txt.我使用以下命令将其加载到spark-shell中:

val textFile = sc.textFile("sherlock.txt")
Run Code Online (Sandbox Code Playgroud)

我的目的是计算文件中的单词数.我遇到了两种替代方法来完成这项工作.

首先使用flatMap:

textFile.flatMap(line => line.split(" ")).count()
Run Code Online (Sandbox Code Playgroud)

第二个使用map后跟reduce:

textFile.map(line => line.split(" ").size).reduce((a, b) => a + b)
Run Code Online (Sandbox Code Playgroud)

两者都正确地产生相同的结果.我想知道上述两种替代实现的时间和空间复杂性的差异,如果确实存在的话?

scala解释器是否将两者都转换为最有效的形式?

scala mapreduce flatmap apache-spark rdd

4
推荐指数
1
解决办法
850
查看次数

标签 统计

apache-spark ×1

flatmap ×1

mapreduce ×1

rdd ×1

scala ×1