在spark中创建RDD的创建方式可以分为2种:
(1)从集合中创建RDD;
(2)从外部存储创建RDD;
1.从集合中创建:parallelize和makeRDD
相同点:都是从集合中创建RDD
不同点:parallelize可以指定分区数,也可以默认系统分区数;
makeRDD会为对象创建最佳分区(固定:由系统决定)
2.从外部存储创建 textFile
textFile将本地文件或者HDFS文件创建出RDD,支持整个目录下所有文件,压缩文件自动解压
分区操作:coalesce 和 repartition
相同点:coalesce 和repartition 都是对RDD进行重新分区。
不同点:coalesce使用HashPartitioner重分区,第一个参数为重分区数目,第二个为是否进行shuffle ,默认情况为false。 repartition是coalesce函数第二个参数为true的实现。