05-数据读取与保存

前言

Spark中常用的文件格式有:文本文件、JSON、CSV、SequenceFile等。
下面介绍这些文件格式的读取与保存。

1 文本文件

  • 读取
    测试数据:
    05-数据读取与保存
    使用 textFile,参数为目录 a:
    05-数据读取与保存
    使用 wholeTextFile,参数为目录 a:
    05-数据读取与保存
    因此,根据实际需要可以选择使用哪种方式读取文本文件。

  • 保存
    保存使用 saveAsFile,参数为目录名称,文件保存在该目录下:
    05-数据读取与保存

2 JSON

在Python中使用内建库 json。

  • 读取
    测试数据为 c/a.json
    05-数据读取与保存
  • 保存
    05-数据读取与保存

3 CSV

测试数据:
05-数据读取与保存

  • 读取
    适用于一行一条记录的 csv 文件
    05-数据读取与保存
    还有一种,字段中嵌有换行符,博主所看书籍给出了解决代码,并没有实际的测试结果。
    博主自己测试后,发现并没有达到想要的结果,这里贴出书籍中的代码:
    05-数据读取与保存
    至于,为什么没有达到想要的结果,因为这和使用前面解析一行所得到的的结果是一样的(或许是测试数据不是上面所示的换行)。
    这里埋个坑,如果各位有见解,欢迎联系。

  • 保存
    下面图片中,函数没有对齐,编写时注意格式。
    05-数据读取与保存

4 SequenceFile

  • 读取
    测试数据在目录 g 下为SequenceFile类型文件:
    05-数据读取与保存
    sequenceFile() 有三个参数,分别为保存文件文件名,第一个值的数据类型,第二个值的数据类型。(sequenceFile是由没有相对关系结构的键值对文件组成的常用Hadoop格式)

  • 保存
    05-数据读取与保存

完!