为什么Spark集合中没有`reduceByValue`?

时间:2016-08-15 14:45:49

标签: scala apache-spark

我正在学习Spark和Scala,并不断遇到这种模式:

val lines = sc.textFile("data.txt")
val pairs = lines.map(s => (s, 1))
val counts = pairs.reduceByKey((a, b) => a + b)

虽然我理解它的作用,但我不明白为什么使用它而不是像:

val lines = sc.textFile("data.txt")
val counts = lines.reduceByValue((v1, v2) => v1 + v2)

鉴于Spark旨在有效地处理大量数据,总是必须执行额外的步骤,将列表转换为映射,然后通过键减少,而不是简单地按值减少?

0 个答案:

没有答案