Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 火花-sortBy和sortByKey之间的区别_Apache Spark - Fatal编程技术网

Apache spark 火花-sortBy和sortByKey之间的区别

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

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).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
是键的一种类型