PART 5 数据读取与保存
1.文件格式与文件系统:
Spark支持的一些常见文件格式:
1.1文本文件:
读取:文本文件的读取通过textFile(),如果需要读取整个文件夹,可以使用wholeTextFiles(),该方法会返回一个pair RDD,键为文件名
保存:saveAsTextFile()传入一个文件保存的路径,Spark会将该路径视为目录,在该目录下保存多个文件,这样Spark就可以从各个节点并行保存了。这个过程不能控制哪个节点输出到哪个文件,但是可以对输出格式进行控制。
1.2JSON:
读取:
1 #在Python中读取非结构化的JSON 2 import json 3 data = input.map(lambda x: json.loads(x))
保存:
1 #Python将数据保存为JSON格式 2 import json 3 data.map(lambda x: json.dumps(x)).saveAsTextFile(outputFile)
1.3逗号分隔值(CSV)与制表符分隔值:
读取:
2.Spark SQL中的结构化数据源:
3.数据库与键值存储: