为了账号安全,请及时绑定邮箱和手机立即绑定

Spark中parallelize函数和makeRDD函数的区别?

Spark中parallelize函数和makeRDD函数的区别?

呼唤远方 2019-01-29 06:02:08
Spark中parallelize函数和makeRDD函数的区别
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

Spark主要提供了两种函数:parallelize和makeRDD:
1)parallelize的声明:
def parallelize[T: ClassTag](
seq: Seq[T],
numSlices: Int = defaultParallelism): RDD[T]

2)makeRDD的声明:
def makeRDD[T: ClassTag](

seq: Seq[T],
numSlices: Int = defaultParallelism): RDD[T]
def makeRDD[T: ClassTag](seq: Seq[(T, Seq[String])]): RDD[T]

3)区别:

A)makeRDD函数比parallelize函数多提供了数据的位置信息。
B)两者的返回值都是ParallelCollectionRDD,但parallelize函数可以自己指定分区的数量,而makeRDD函数固定为seq参数的size大小。

查看完整回答
反对 回复 2019-03-14
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

一样的,你看SparkContext的API里面这么说的:
def makeRDD[T](seq: Seq[T], numSlices: Int = defaultParallelism)(implicit arg0: ClassTag[T]): RDD[T]
Distribute a local Scala collection to form an RDD.
This method is identical to parallelize.

查看完整回答
反对 回复 2019-03-14
  • 2 回答
  • 0 关注
  • 1354 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信