gpt4 book ai didi

apache-spark - Spark - sortBy 和 sortByKey 之间的区别

转载 作者:行者123 更新时间:2023-12-04 04:14:24 24 4
gpt4 key购买 nike

sortBy有什么区别和 sortByKey Spark 中的函数?

我正在执行以下转换,其中我使用了 sortBy 和 sortByKey。两者都给出相同的结果,那么有什么区别。

val reducedSfpd = sfpd.map(x => (x(col_2),1)).reduceByKey((x,y) => x+y)

val top3Dist = reducedSfpd.sortBy(_._2,false).collect().take(3)
val top3Dist = reducedSfpd.map(x => x.swap).sortByKey(false).take(3)

sortBy && sortByKey 之间是否有任何与性能相关的差异。

事实上,当我使用 sortBy我正在通过应用 map 函数保存一种交换“键 - 值”的转换。那为什么 sortByKey ?

最佳答案

In fact when I am using sortBy I am saving one transformation of swapping the 'Key - Values' by applying map function.



你没有。在实践中,您添加了额外的转换,并在此过程中略微增加了网络流量。 sortBy maps输入 RDD 到 (f(x), x)对,适用 sortByKey最后需要 values .我怀疑它会影响性能,但它肯定是值得记住的。

使用时 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是键的一种。

关于apache-spark - Spark - sortBy 和 sortByKey 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35134968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com