5.2.1 文本文件
- 将一个文本文件读取为 RDD 时,输入的每一行都会成为 RDD 的一个元素。
- 将多个完整的文本文件一次性读取为一个 pair RDD,其中键是文件名,值是文件内容。
读取文本文件
Python
input = sc.textFile("file:///home/holden/repos/spark/README.md")
Scala
val input = sc.textFile("file:///home/holden/repos/spark/README.md")
Java
JavaRDDinput = sc.textFile("file:///home/holden/repos/spark/README.md")</pre> 如果多个输入文件以一个包含数据所有部分的目录的形式出现: - 仍使用 textFile 函数,传递目录作为参数,这样它会把各部分都读取到 RDD 中。 - 如果文件足够小,那么可以使用 SparkContext.wholeTextFiles() 方法,该方法会返回一个 pair RDD,其中键是输入文件的文件名。 Spark 支持读取给定目录中的所有文件,以及在输入路径中使用通配字符(如 part-*.txt )。 #### 保存文本文件 #### saveAsTextFile() 方法接收一个路径,并将RDD 中的内容都输入到路径对应的文件中。 Spark 将传入的路径作为目录对待,会在那个目录下输出多个文件。 result.saveAsTextFile(outputFile)