如何并行化RDD?

blu*_*sky 6 scala apache-spark

要将文件读入内存,我使用:

val lines = sc.textFile("myLogFile*")
Run Code Online (Sandbox Code Playgroud)

其类型:

org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at <console>:12
Run Code Online (Sandbox Code Playgroud)

阅读Scala文档:http: //spark.apache.org/docs/0.9.1/scala-programming-guide.html#parallelized-collections"通过在现有Scala集合上调用SparkContext的parallelize方法来创建并行化集合(a Seq对象)."

这似乎不适用于RDD?可以在RDD上进行并行处理吗?我是否需要将RDD转换为Seq对象?

Sou*_*nta 12

弹性分布式数据集(RDD)RDD顾名思义是分布式,容错和并行的.

"RDD是容错的并行数据结构,允许用户明确地将中间结果保存在内存中,控制它们的分区以优化数据放置,并使用丰富的运算符来管理它们." 请看这篇论文.

不,您不需要将RDD转换为Seq对象.RDD上的所有处理都是并行完成的(取决于Spark安装的并行程度).