RDD分区和切片之间有什么区别?

时间:2014-05-02 20:43:59

标签: hadoop apache-spark

Spark Programming Guide提到切片作为RDD的特征(并行集合或Hadoop数据集)。(" Spark将为集群的每个切片运行一个任务。")但是在关于RDD持久性的部分,使用分区的概念而不作介绍。此外,RDD docs仅提及没有提及切片的分区,而SparkContext docs提到用于创建RDD的切片,而是用于在RDD上运行作业的分区。这两个概念是一样的吗?如果没有,它们有何不同?

Tuning - Level of Parallelism表示" Spark根据其大小自动设置在每个文件上运行的“map”任务的数量......以及分布式“reduce”操作,例如groupByKey和reduceByKey,它使用最大的父RDD的分区数。您可以将并行级别作为第二个参数传递...."那么这解释了分区和切片之间的区别吗?分区与RDD存储有关,切片与并行度有关,默认情况下,接头是根据数据大小还是分区数计算的?

1 个答案:

答案 0 :(得分:17)

他们是一回事。由于Matthew Farrellee,已经为Spark 1.2修复了文档。错误中的更多细节:https://issues.apache.org/jira/browse/SPARK-1701