微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【Spark】【RDD】从内存集合创建RDD


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] 举报,一经查实,本站将立刻删除。

相关推荐