reduceByKey( + )和reduceByKey( ++ )之间有什么区别?我知道reduceByKey( + )的内部工作原理。但是reduceByKey( ++ )如何在内部工作。我有谷歌reduceByKey( ++ ),但没有发现任何人都在谈论reduceByKey( + )。
答案 0 :(得分:0)
这是相同的操作,但减少(即合并)值的方式不同(++
而不是+
)。例如,如果值是列表,那么++
将连接它们
答案 1 :(得分:0)
reduceByKey
类型元素集合的 T
需要类型为Fucntion2[T, T, U]
的二进制操作,这意味着它需要一个带有类型的两个参数的函数T
为U
类型的值。
+
类型定义T
(例如T
为Int
,Double
...),则_ + _
会坚持这种预期的类型。 ++
类型定义T
(例如T
为List
时),则_ ++ _
会遵守此类型。 T
是你自己的类没有定义任何这些运算符)那么两者都不会编译。