gpt4 book ai didi

scala - Spark : Custom key compare method for reduceByKey

转载 作者:可可西里 更新时间:2023-11-01 14:21:42 25 4
gpt4 key购买 nike

我需要在 Scala 中使用我自己的类作为键/值对中的键。特别是,我有一个包含两个变量 id1id2 的简单类,我希望元素仅根据 id2 和不是 id1。我在网上找不到任何关于如何以及在何处可以重写 reduceByKey() 方法的比较方法的信息,以便它可以根据我的自定义 compare( ) 方法。

感谢任何帮助。谢谢你。

最佳答案

您不能覆盖 reduceByKey 的比较,因为它无法利用这样一个事实,即您的数据通常在整个集群中的不同执行程序上按 key 进行混洗。不过,您可以更改 key (请注意,根据您使用的转换/操作,这可能会重新洗牌周围的数据)。

RDD 中有一个叫做 keyBy 的漂亮方法可以做到这一点,所以你可以这样做:

val data: RDD[MyClass] = ...    // Same code you have now.
val byId2 = data.keyBy(_.id2) //Assuming your ids are Longs, will produce a RDD[(Long,MyClass)]

关于scala - Spark : Custom key compare method for reduceByKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31296656/

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