Spark学习中,遇到了无法使用partitionBy()方法的问题,idea无提示,显示没有此方法,
解决过程,
val rdd3 = rdd2.map(t => {
val url = t._1
val host = new URL(url).getHost
(host, (url, t._2))
})
其中 (host, (url, t._2))被我写成了(host, url, t._2),而partitionBy()是PairRDDFunctions的方法,只适用于【k,v】类型的rdd
/**
* Extra functions available on RDDs of (key, value) pairs through an implicit conversion.
*/
class PairRDDFunctions[K, V](self: RDD[(K, V)])
(implicit kt: ClassTag[K], vt: ClassTag[V], ord: Ordering[K] = null)
extends Logging with Serializable {
本文探讨了在Spark中使用partitionBy()方法时遇到的问题及其解决办法。通过一个具体示例,作者展示了如何确保RDD数据结构正确以支持该方法的应用,并解释了partitionBy()作为PairRDDFunctions的一部分,仅适用于键值对类型的RDD。
736





