(1) textFile
可以读取单独的文件数据,也可以读取整个路径下的所有文件数据
把所有文件一一个文件的形式进行处理。
如果指定并行度,直接使用
如果没有指定并行度,走默认的最小分区数
最小分区数 = math.min(默认并行度,2)
默认并行度:
a.如果设置了 spark.default.parallelism 直接读取
b.如果没设置
①本地模式:当前节点的cpu总核心数
②独立模式:适用父类(分布式)的方式
③分布式模式:当前集群中所有节点的所有cpu的核心数与2的最大值
分区策略与hadoop的FileInputFormat一致
(2) wholeTextFiles
可以读取单独的文件的数据,也可以读取整个路径的所有文件数据
每个文件以一个键值对(二元组)的形式保持一致
key为文件的路径
value为文件的内容
分区数量与textFile的形式保持一致
分区策略与hadoop的CombineFileInputFormat一致
(3) parallelize
把已知集合创建成RDD类型
可以指定分区的数量
如果没有指定分区数量,走默认并行度
(4) makeRdd
如果参数与parallelize一样,执行的就是paralleize方法
如果参数是Seq[(T,Seq[String])]这个泛型,这个集合中的每个元素分别为一个独立分区。