val data1 = sc.wholeTextFiles("/opt/test")
val data = sc.textFile("/opt/test/")
使用textFile时,它的partition的数量是与文件夹下的文件数量相关,一个文件就是一个partition。
wholeTextFiles的partition数量是根据用户指定或者文件大小来确定。 个人觉得它通常用于读取许多小文件的需求。
进行测试:
/opt/test下边有五个文件。
然后进行数据加载并指定分区:
val data = sc.textFile("/opt/test/",1)
data.partitions.length
输出5,这是因为文件是有5个,所以必须是要有5个分区的。
val data1 = sc.wholeTextFiles("/opt/test")
data1.partitions.length
输出1,确定partition数量与文件数量是无关的