05-数据读取与保存
前言
Spark中常用的文件格式有:文本文件、JSON、CSV、SequenceFile等。
下面介绍这些文件格式的读取与保存。
1 文本文件
-
读取
测试数据:
使用 textFile,参数为目录 a:
使用 wholeTextFile,参数为目录 a:
因此,根据实际需要可以选择使用哪种方式读取文本文件。 -
保存
保存使用 saveAsFile,参数为目录名称,文件保存在该目录下:
2 JSON
在Python中使用内建库 json。
-
读取
测试数据为 c/a.json
-
保存
3 CSV
测试数据:
-
读取
适用于一行一条记录的 csv 文件
还有一种,字段中嵌有换行符,博主所看书籍给出了解决代码,并没有实际的测试结果。
博主自己测试后,发现并没有达到想要的结果,这里贴出书籍中的代码:
至于,为什么没有达到想要的结果,因为这和使用前面解析一行所得到的的结果是一样的(或许是测试数据不是上面所示的换行)。
这里埋个坑,如果各位有见解,欢迎联系。 -
保存
下面图片中,函数没有对齐,编写时注意格式。
4 SequenceFile
-
读取
测试数据在目录 g 下为SequenceFile类型文件:
sequenceFile() 有三个参数,分别为保存文件文件名,第一个值的数据类型,第二个值的数据类型。(sequenceFile是由没有相对关系结构的键值对文件组成的常用Hadoop格式) -
保存