val list = List(1,2,3)
var rdd = sc.parallelize(list)
rdd.partitions.size
通过调用SparkContext的
parallelize
方法,在一个已经存在的Scala集合上创建的(一个Seq对象)。
集合的对象将会被拷贝,创建出一个可以被并行操作的分布式数据集。一旦分布式数据集(distData)被创建好,它们将可以被并行操作。
例如,我们可以调用distData.reduce(lambda a, b: a + b)来将数组的元素相加。并行集合的一个重要参数是slices,表示数据集切分的份数。
Spark将会在集群上为每一份数据起一个任务。
典型地,你可以在集群的每个CPU上分布2-4个slices.
一般来说,Spark会尝试根据集群的状况,来自动设定slices的数目然而,你也可以通过传递给parallelize的第二个参数来进行手动设置。
(例如:sc.parallelize(data,10)).[本段为引用,作者信息如下]
作者:追赶的程序猿
链接:https://www.jianshu.com/p/c688b8856dd8
来源:简书