在实际项目中,有时往往处理的数据文件属于小文件(每个文件数据数据量很小,比如 KB ,几十 MB 等),文件数量又很大,如果一个个文件读取为 RDD 的一个个分区,计算数据时很耗时性能低下,使用 SparkContext 中提供: wholeTextFiles 类,专门读取小文件数据。
/**
* Read a directory of text files from HDFS , a local file system .
* Each file is read as a single record and returned in a key - value pair , where the key is the path of each file , the value is the content of each file .
**/
def wholeTextFiles (
path : String ,//文件存储目录
minPartitions : Int = defaultMinPartitions //RDD分区数目
): RDD [( String , String )]