Spark 2.x管理与开发-Spark SQL-使用数据源(一)通用的Load/Save函数

 

一、显式指定文件格式:加载json格式

1.直接加载:val usersDF = spark.read.load("/root/resources/people.json")

                      会出错

2.val usersDF = spark.read.format("json").load("/root/resources/people.json") 不出错

**************自己操作*************

spark.read.load默认加载parquet文件

像下面load一个.json文件,就会报错:

 

二、存储模式(Save Modes)

可以采用SaveMode执行存储操作,SaveMode定义了对数据的处理模式。

需要注意的是,这些保存模式不使用任何锁定,不是原子操作。

此外,当使用Overwrite方式执行时,在输出新数据之前原数据就已经被删除。

SaveMode详细介绍如下表:

 

Demo:

1)usersDF.select($"name").write.save("/root/result/parquet1")

--> 出错:因为/root/result/parquet1已经存在

2)usersDF.select($"name").write.mode("overwrite").save("/root/result/parquet1")

************自己操作***********

之前查询并保存到parquet路径一次,现在再查询并保存到该路径一次,发现会报错:

 

现在将原结果覆盖掉,将查询结果再写到该路径下-.write.mode("overwrite").save发现可以操作成功:

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3