val list = List(1,2,3)
var rdd = sc.parallelize(list)
rdd.partitions.size
@H_404_2@
通过调用SparkContext的
parallelize@H_404_2@方法,在一个已经存在的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
来源:简书
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。