sc.WholeTextFiles与sc.textFile区别


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数量与文件数量是无关的


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM