A1 方法:
一种方法:
看参数是否可以改变分区数
可以看源码中参数是否有与分区相关的,比如numPartitions
A2 例子:
sortBy和map比较:
-
sortBy最后有numPartitions,添加不报错
-
map后加上数字(表示分区数的)会报错
A3 解释
看sortBy和map源码:
-
sortBy中第三个参数是numPartitions
-
def sortBy[K]( f: (T) => K, ascending: Boolean = true, numPartitions: Int = this.partitions.length)//这里表示分区数 (implicit ord: Ordering[K], ctag: ClassTag[K]): RDD[T] = withScope { this.keyBy[K](f) .sortByKey(ascending, numPartitions) .values }
-
-
map中则没有
-
def map[U: ClassTag](f: T => U): RDD[U] = withScope { val cleanF = sc.clean(f) new MapPartitionsRDD[U, T](this, (context, pid, iter) => iter.map(cleanF)) }
-