RDD是什么:分布式弹性数据集
待解决的问题:rdd和数据源分区数据如何进行分配???
例如(1,2,3,4),分区数numSlices=3,RDD中如何进行数据分区存储?
查看源码能够让我们快速理解。
进到makeRDD函数,看到内部是执行了parallelize函数,并且传入集合和分区数。
parallelize函数内部创造了一个ParallelCollectionRDD对象。
随后,进入ParallelCollectionRDD类内部。
有个同名方法:
将集合切片为numSlices子集合。我们在这里做的另一件事情是处理范围特别是集合,将切片编码为其他范围以最小化内存成本。这使得在表示大量数据集的RDD上运行Spark是非常有效的。如果收集是一个包含范围,