Apache spark 火花-sortBy和sortByKey之间的区别
Spark中的Apache spark 火花-sortBy和sortByKey之间的区别,apache-spark,Apache Spark,Spark中的sortBy和sortByKey函数有什么区别 我正在执行下面的转换,其中我使用了sortBy&sortByKey。两者给出的结果相同,那么有什么区别呢 val reducedSfpd=sfpd.map(x=>(x(col_2),1)).reduceByKey((x,y)=>x+y) val top3Dist=reducedSfpd.sortBy(u._2,false).collect().take(3) val top3Dist=reducedSfpd.map(x=>x.swap
sortBy
和sortByKey
函数有什么区别
我正在执行下面的转换,其中我使用了sortBy&sortByKey。两者给出的结果相同,那么有什么区别呢
val reducedSfpd=sfpd.map(x=>(x(col_2),1)).reduceByKey((x,y)=>x+y)
val top3Dist=reducedSfpd.sortBy(u._2,false).collect().take(3)
val top3Dist=reducedSfpd.map(x=>x.swap).sortByKey(false).take(3)
sortBy和sortByKey之间是否存在与性能相关的差异
事实上,当我使用sortBy
时,我保存了一个通过应用map函数交换“键值”的转换。那为什么是sortByKey
事实上,当我使用sortBy时,我保存了一个通过应用map函数交换“键值”的转换
你没有。实际上,您添加了一个额外的转换,并在途中略微增加了网络流量sortBy
将
输入RDD映射到(f(x),x)
对,应用sortByKey
并最终获取值。我怀疑这会影响表演,但肯定要记住
使用sortBy
会使您的意图更加明显sortByKey
输出分区RDD,这对下游处理非常有用
在旁注中,我既不使用sortBy
也不使用sortByKey
来提取顶部元素。相反,最好选择top
reducedSfpd.top(3)(Ordering.by[(K, Int), Int](-_._2))
或takeOrdered
reducedSfpd.takeOrdered(3)(Ordering.by[(String, Int), Int](_._2))
具有特定的顺序,K
是键的一种类型